私はこの問題を抱えています。チェックされた親と子の両方のコードがあります。しかし問題は、最終的に値を取得する方法がわからないことです..ここでは、親と子の両方を含むチェックボックスリスト
<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();
here ..会計/財務チェックボックスをクリックすると、すべてが選択されました。しかし、それは最終的に値を表示しないので、最後にそれらすべて(親と子の両方)を表示したいのです。私はそのためのコーディング方法を混乱させています..誰か助けてください..