1

特定のチェックボックスが選択されている場合、div 内で複数のチェックボックスを選択しようとしています。これが私がやろうとしていることですhttp://jsfiddle.net/8PLH6/

私はこれを機能させようとしています。「すべて」をチェックすると、以下のすべてのチェックボックスが選択されます。何らかの理由で、セレクターを正しく取得できません。コード:

<div style="float:left;padding-right:15px;">
<div align="left" style="padding-bottom: 4px; padding-left: 6px;" class="bottom">
    <input type="checkbox" value="1" id="all"/><a href="#" title="All">All</a>
</div>
<div align="left" style="padding-bottom: 4px; padding-left: 6px;" class="bottom">
    <input type="checkbox" value="1" id="cat417"/><a href="" title="1">1</a>
</div>
<div align="left" style="padding-bottom: 4px; padding-left: 6px;" class="bottom">
    <input type="checkbox" value="1" id="cat410"/><a href="" title="2">2</a>
</div>
<div align="left" style="padding-bottom: 4px; padding-left: 6px;" class="bottom">
    <input type="checkbox" value="1" id="cat401"/><a href="" title="3">3</a>
</div>
<div align="left" style="padding-bottom: 4px; padding-left: 6px;" class="bottom">
    <input type="checkbox" value="1" id="cat415"/><a href="" title="4">4</a>
</div>
</div>

$(document).ready(function () {
$('#all').change(function () {
    $a = $(this).parent('div').parent('div').children('div').children('input[type="checkbox"]');
    $b = $(this).attr('checked');
    if ($b) {
        $($a).attr('checked', true);
    } else {
        $($a).attr('checked', false);
    }
});

});

4

1 に答える 1

2

これは非常に難しい場合があります。機能をご利用ください.prop()

$(document).ready(function()
{
    $('#all').on("click",function () {
          $("input[type='checkbox']").not("#all").each(function() 
       {
           $(this).prop("checked",$("#all").is(":checked"));
        });
    });
});

jsFiddle: http://jsfiddle.net/8PLH6/3/

于 2013-02-06T23:36:47.170 に答える