如何使用jquery获取自定义属性的值?

时间:2013-10-24 05:19:58

标签: jquery

你能帮我解决我的问题吗? 我的问题是,我正在尝试创建一个动态表单。在我的表单中,我有一个部分具有检查所有功能。但我想要的是。如果找到自定义属性,将触发check all函数。

这是我的示例代码:

 <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. 在用户选中all check复选框后,系统应验证是否存在现有数据检查值。
  2. 如果找到,则应检查父母的复选框
  3. 顺便说一句,我使用的是jquery 1.5.2

4 个答案:

答案 0 :(得分: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'){
    }
})

或者您只想为check 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)
})

演示:Fiddle

答案 1 :(得分:1)

var customData = $('input[type="checkbox"]').data("check");

试试上面的

答案 2 :(得分: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

答案 3 :(得分:1)

你可以这样做:

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

Fiddle Demo

相关问题