2013-03-22 115 views
0

我有這個問題,我有兩個檢查父母和孩子的代碼。但問題是我不知道如何檢索到底值..在這裏,包括父母和孩子如何檢索父母和孩子複選框的值檢查

<ul id="jobCat"> 
     <li> 
      <input id="s9" class="parent" type="checkbox" name="jobCat" value="Accounting/Finance" 
      />Accounting/Finance</li> 
     <li> 
      <input id="s15" class="parent-s9" type="checkbox" name="jobCat" value="Banking/Financial" 
      /><span>Banking/Financial</span> 
     </li> 
     <li> 
      <input id="s16" class="parent-s9" type="checkbox" name="jobCat" value="General/Cost Acct" 
      /><span>General/Cost Acct</span> 
     </li> </ul> 

這裏jQuery的

var checkboxHandlerObj = { 

    init: function() { 
     $('#jobCat input:checkbox[class="parent"]').click(checkboxHandlerObj.parentClicked); 
     $('#jobCat input:checkbox[class^="parent-"]').click(checkboxHandlerObj.childClicked); 
    }, 
    parentClicked: function() { 
     var parentCheck = this.checked; 
     $('#jobCat input:checkbox[class="parent-' + $(this).attr('id') + '"]').each(function() { 
      this.checked = parentCheck; 
     }); 
    }, 
    childClicked: function() { 
     var temp = $(this).attr('class').split('-'); 
     var parentId = temp[1]; 
     $('#' + parentId)[0].checked = $('#jobCat input:checkbox[class="' + $(this).attr('class') + '"]:checked').length !== 0; 
    } 
}; 

checkboxHandlerObj.init(); 

這裏的複選框列表..我點擊財務/財務複選框後,它選擇所有。但這並不顯示最終的價值,所以我想要的是我想在最後展示他們所有人(父母和孩子)。我很困惑如何編碼..請幫助我的人..

回答

0

請看看小提琴。這可能給你一些想法如何做到這一點..

http://jsfiddle.net/Gy9Jq/

您需要更改如下功能:

parentClicked: function() { 
     var parentCheck = this.checked; 
     var values='i'; 
     $('#jobCat input:checkbox[class="parent-' + $(this).attr('id') + '"]').each(function() { 
      this.checked = parentCheck; 
      values+=this.attr('value'); 
     }); 
     alert('hi'); 
    }, 

檢查更新小提琴覺得這兒過得這爲u想要什麼:

http://jsfiddle.net/Gy9Jq/6/

+0

你只能在那裏編輯。這裏我將所有值存儲在單個變量中,例如僅僅爲了清晰起見。你需要修改,如果你需要。 – Sangeeta 2013-03-22 05:25:39

+0

其實我想價值顯示在最後像檢查所有後,答案顯示會計/財務 銀行... 一般/ ....類似的東西 – user2155421 2013-03-22 06:32:56

+0

請檢查我編輯的答案。爲更新小提琴。 – Sangeeta 2013-03-22 06:47:25