你能帮我解决我的问题吗? 我的问题是,我正在尝试创建一个动态表单。在我的表单中,我有一个部分具有检查所有功能。但我想要的是。如果找到自定义属性,将触发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>
预期结果应为:
顺便说一句,我使用的是jquery 1.5.2
答案 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);
}
});
答案 3 :(得分:1)
你可以这样做:
$("input[data-check='checkAll']").change(function(){
$("#container :checkbox").prop("checked",this.checked);
});