0

私の問題を解決できることを願っています。これが私のサンプルコードです

<input type="checkbox" data-attr="getAllChoices" />

<div id="parent">

     <div id="child1">
         <input type="checkbox" value="3"/>Choice A
     </div>

     <div id="child2">
         <input type="checkbox" value="5"/>Choice B
     </div>

     <div id="child3">
         <input type="checkbox" value="6"/>Choice C
     </div>

</div>

シナリオ:

ユーザーがチェックボックスをオンにした場合、すべての選択肢もオンにする必要があります。比較には日付属性を使用する必要があります。値がある場合、親 (チェックボックス) の子を呼び出し、すべてをチェックします。

これまでのところ、私のjsにはこれがあります。しかし、他のチェックボックスを呼び出す方法がわかりません。私が知っている唯一のことは、子divにアクセスしてチェックボックスを呼び出すことです。

$("input[data-attr='checkAll']").on('change',function(){
     //no idea. . . . . 
});

ちなみに私はjquery1.5を使っています

4

3 に答える 3

2

I don't see the data-check attribute. So try using the data-attr attribute:

$("input[data-attr='getAllChoices']").bind('change',function(){
      $('#parent').find('input[type=checkbox]').attr('checked', this.checked);
});

If you want to avoid the use of attr() for the checked property, you can iterate over the checkboxes manually:

$("input[data-attr='getAllChoices']").bind('change',function(){
    var isChecked = this.checked;
    $('#parent').find('input[type=checkbox]').each(function(i, val){
        val.checked = isChecked;
    });
});
于 2013-10-24T06:51:07.290 に答える