我刚刚安装在ASP.NET MVC RC2中,并且还使用了JQuery 1.3.1库
在我使用1.2.6库之前。
我们的申请在该图书馆下运作良好
但现在我有一个奇怪的问题
我们有一个网格视图,我们用AJAX调用的结果建立起来
返回结果后,我们通过克隆隐藏的行向表中添加新行。
JQuery生成的HTML会为标记添加额外的参数。 这些是JQuery12345678 =“null”的形式。 它们都有相同的名字。 在表的头部有一个复选框,用于选择/取消选择表的所有行。 这是通过迭代表的行。
$("#selectAllCheckbox").click(function() {
var checked = this.checked;
$("#dgNewTasks tbody tr").find(':input[type="checkbox"]').each(function() {
this.checked = checked;
});
});
现在,通过使用新库,不再设置复选框。 我使用IE Developer Tools来检查HTML。 如果我从我的行中删除JQuery12345678 =“null”参数。它工作正常。
有人可以告诉我我该做什么吗?
答案 0 :(得分:1)
我们需要查看您的HTML。这可能会解决这个问题。与此同时,您的代码可以大大简化:
$("#selectAllCheckbox").click(function() {
var checked = this.checked;
$("#dgNewTasks tbody tr :checkbox").attr("checked", checked);
});
答案 1 :(得分:0)
这不起作用,因为您在click()
事件处理程序中附加了事件处理程序(例如ready()
),此时没有任何动态创建的行。因此,在创建行后,将click()
或任何其他事件处理程序附加到动态创建的行中。
答案 2 :(得分:0)
听起来你需要使用.live代替.click:
$("#selectAllCheckbox").live(function() {
var checked = this.checked;
$("#dgNewTasks tbody tr").find(':input[type="checkbox"]').each(function() {
this.checked = checked;
});
});