0

私の問題を手伝ってもらえますか?私の問題は、動的フォームを作成しようとしていることです。私のフォームには、すべての機能をチェックする部分があります。しかし、私が欲しいのはです。カスタム属性が見つかった場合、すべてチェック機能がトリガーされます。

ここに私のサンプルコードがあります:

 <input type="checkbox" data-check="checkAll" />CHECK ALL<br/> <!-- The data-check is used for validating if the user check the checkbox -->

<div id="container">
    <div id="parent1">
        <div id="child1">
            <input type="checkbox" val="45" />ITEM A
        </div>
    </div>

    <div id="parent2">
        <div id="child2">
            <input type="checkbox" val="41" />ITEM B
        </div>
    </div>

    <div id="parent3">
        <div id="child3">
            <input type="checkbox" val="1" />ITEM C
        </div>
    </div>
</div>

期待される結果は次のとおりです。

  1. ユーザーがすべてのチェックボックスをチェックした後、システムは既存のデータチェック値があるかどうかを検証する必要があります。
  2. 見つかった場合は、親のチェックボックスをオンにする必要があります

ちなみに私はjquery 1.5.2を使用しています

4

4 に答える 4

1
$("input[data-check='checkAll']").change(function(){
if($(this).is(":checked"))
{
$("#container").find(":checkbox").prop("checked",true);
}
else{
$("#container").find(":checkbox").prop("checked",false);
}

});

prop()および:checkedを参照

于 2013-10-24T05:22:48.033 に答える
1

data-*属性値を読み取るには、次のように.data()を使用できます$(el).data('check')

$('input[type="checkbox"]').change(function(){
    var $this = $(this);// this is the checkbox
    var checkdata = $this.data('check');
    if(checkdata == 'all'){
    }
})

または、すべてチェックボックスのみのハンドラーを追加したい場合

$('input[type="checkbox"][data-check="checkAll"]').change(function(){
    //this will be fired only of the checkall checkbox is changed
    $('input[type="checkbox"]').not(this).prop('checked', this.checked)
})

デモ:フィドル

于 2013-10-24T05:21:32.690 に答える
1
var customData = $('input[type="checkbox"]').data("check");

上記を試してください

于 2013-10-24T05:21:35.967 に答える