0

jsfiddle

コード:

<script type="text/javascript">
    function checkAll() {
    var checked = $("#checkAll").is(':checked');
    $(".check_row").attr("checked", checked);
}
</script>
<div>
    <input type="checkbox" id="checkAll" onclick="checkAll()" />Check All <br />
    <input type="checkbox" class="check_row" />One <br />
    <input type="checkbox" class="check_row" />Two <br />
    <input type="checkbox" class="check_row" />Three <br />
    <input type="checkbox" class="check_row" />Four <br />
    <input type="checkbox" class="check_row" />Five <br />
    <input type="checkbox" class="check_row" />Six <br />    
</div>

「すべてチェック」チェックボックスは初回のみ機能します。誰かが何が間違っているのかを見つけるのを手伝ってくれますか?

4

5 に答える 5

3

変化する

$(".check_row").attr("checked", checked);

$(".check_row").prop("checked", checked);

フィドルを見る

于 2013-07-22T05:38:10.360 に答える
2
  1. 1.6以降のjqueryバージョンを使用しているため、この属性はからattrに変更されていませんprop
  2. 関数で変数を宣言する場合、変数を何度も宣言しないでください。変数を何度も繰り返し宣言することになります
  3. 変数も必要ありません。if else 条件も...私の更新された例を確認してください

フィドルのデモ

var checked

function checkAll() {

    checked = $("#checkAll").is(':checked');

    $(".check_row").prop("checked", checked);

}

アップデート

フィドルのデモ

$('#checkAll').on('change',function(){    
    $(".check_row").prop("checked", $(this).is(':checked'));    
});
于 2013-07-22T05:40:25.800 に答える
1
$('#checkAll').on('change',function(){
    if($(this).is(':checked')){
        $(".check_row").prop("checked", true);
    }
    else{
        $(".check_row").prop("checked", false);
    }
});

JSFiddle

于 2013-07-22T05:38:38.980 に答える
0

この行を変更

    $(".check_row").attr("checked", checked); 

     to

    $(".check_row").attr("checked", true);

フィドル: http://jsfiddle.net/auXdC/5/

于 2013-07-22T05:39:43.420 に答える
0
function checkAll() 
{
     var checked = $("#checkAll").is(':checked');

     $(".check_row").prop("checked", true);

    if(!checked)
    {
           $(".check_row").removeAttr("checked");
    }

}

JSFiddle

于 2013-07-22T05:53:10.847 に答える