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

To read the data-* attribute value you can use .data(), like in $(el).data('check')

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

or you you want to add a handler for only the check all checkbox then

$('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)
})

Demo: Fiddle

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

Try the above

于 2013-10-24T05:21:35.967 回答
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

你可以这样做:

$("input[data-check='checkAll']").change(function(){
     $("#container :checkbox").prop("checked",this.checked);
});

小提琴演示

于 2013-10-24T05:29:18.597 回答