html代码:
<div>
<input type="checkbox" onclick="selectAll(this);" />select all<br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
</div>
jquery代码:
$(document).ready(function(){
function selectAll(checkbox){
alert("test");
$("input[type=checkbox]").attr('checked',$(checkbox).attr('checked'));
}
});
为什么选择和取消选择all都不起作用。当我把警告语句用于测试代码的错误时。警报也不起作用。
我想知道为什么我的代码不起作用?
答案 0 :(得分:2)
使用jQuery轻松“全部检查”
HTML:
<div>
<input type="checkbox" class="checkall" />select all<br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
</div>
jQuery的:
$(function () {
$('.checkall').click(function () {
$(this).parents('div').find(':checkbox').attr('checked', this.checked);
});
});
答案 1 :(得分:1)
你有一个额外的引用 $("input[type=checkbox]").attr('checked',**'**$(checkbox).attr('checked'));
并拼错警告
并且没有复选框变量
我没有看到没有selectAll函数(你可以删除这个内联的东西)
<div>
<input type="checkbox" class="checkall" />select all<br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
</div>
$('.checkall').change(function() {
$('input[type="checkbox"]').attr('checked', $(this).attr('checked'));
});
在等号
之后你缺少强制性引号基本上你的代码有很多问题。 :)
修改强>
OP完全改变了他的代码:P
答案 2 :(得分:1)
$(document).ready
将触发。它不是命名函数。
您的HTML假设有一个名为selectAll
的函数。
尝试使用以下内容交换$(document).ready
。
function selectAll(checkbox)
{
alert("test");
$("input[type=checkbox]").attr('checked',$(checkbox).attr('checked'));
}
<强>更新强>
定义函数不会执行该函数。因此,定义不需要在$(document).ready
内。只有在单击第一个复选框时才会调用它。
答案 3 :(得分:1)
您的代码没有多大意义。您当前正在做的是将事件处理程序传递给ready方法,该方法检查文档就绪的所有输入。只有你修正了拼写错误才会发生这种情况。
您需要的是:http://jsfiddle.net/NJuqm/
//Should be inside $(document).ready()
$('#sel_all').click(function(){
if (this.checked) {
$('input:checkbox').attr('checked', 'checked');
} else {
$('input:checkbox').removeAttr('checked');
}
});
<input type="checkbox" id='sel_all'/>select all<br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>
<input type="checkbox" /><br/>