我正在写一些代码,将允许以下内容:jQuery的检查都没有复选框工作
1)如果用户检查一个复选框,它会改变父<tr>
有一类的选择(这可以也被取消选中并删除类)
2.),其已校验过将具有添加上文件负载
3.)类的任何复选框如果用户检查#checkall输入然后所有的输入将成为检查并添加选中的类(如果再次选中,则将取消选择全部并删除类)
这是我的代码至今:
$("table input[name=choose]:checked").each(function()
{
$(this).closest("tr").addClass("selected");
});
$("table input[name=choose]").live("change", function()
{
$(this).closest("tr").toggleClass("selected");
});
if ($('#checkall:checked') == true)
{
$('#checkall').live("click", function()
{
$('table input[name=choose]').attr('checked', false);
$('table input[name=choose]').closest("tr").toggleClass("selected");
});
}
else
{
$('#checkall').live("click", function()
{
$('table input[name=choose]').attr('checked', true);
$('table input[name=choose]').closest("tr").toggleClass("selected");
});
}
前两个工作正常,但3号没有取消选中复选框...任何想法,为什么?但类部分工作正常?
谢谢
仍然不会取消我的复选框,当我再次点击它时... – Cameron
@Cameron,而不是**再次**,确实..你需要它来切换'#checkall'的当前值。更新的答案.. –
@Cameron,你可能不需要'live'..这是用来代替实际的'#checkall'复选框动态地与另一个..只需使用'.change(function(){。 。})'直接。 –