jQuery:IE only,input:checked即使选择了项也返回0
我看到了一个无法从一小部分用户复制的错误。代码如下:jQuery:IE only,input:checked即使选择了项也返回0,jquery,internet-explorer,Jquery,Internet Explorer,我看到了一个无法从一小部分用户复制的错误。代码如下: var selected = $('#mytable input:checked'); if (selected.length == 0) { $('body').trigger('notice', 'Please select some items first'); return; } 即使用户选中多个复选框,“通知”也会触发。似乎已选中。长度为零,但不应为零 [更新]选择器在更新为以下内容时工作: var select
var selected = $('#mytable input:checked');
if (selected.length == 0) {
$('body').trigger('notice', 'Please select some items first');
return;
}
即使用户选中多个复选框,“通知”也会触发。似乎已选中。长度为零,但不应为零
[更新]选择器在更新为以下内容时工作:
var selected = $('input[class="selection"]:checked');
似乎在选择器中包含id会破坏东西,仅在IE上
此代码适用于绝大多数用户,我们无法复制此问题,但对于看到此问题的用户,它是一致的,并且每次都会发生 这似乎与IE无关(尽管我不能确定)。我们正在使用jQuery1.3.2(来自GoogleCDN)
有什么想法吗 最好粘贴周围的代码/事件处理程序。作为起点,我建议在第一行中使用选择器:
$('#mytable input:checkbox:checked')
手册上说:
$(':checkbox')
相当于
$('*:checkbox')
,所以
应使用$('input:checkbox')
相反
当然,这可能不会有任何区别
:checkbox
相当于$('[type=checkbox]')
,因此可能是IE阻塞了选择器的输入:checked
部分,该部分正在测试所有输入元素的checked
状态 我遇到了一个类似的问题,在我的一生中,我无法让IE识别另一个事件处理程序以编程方式“检查”的框
诉诸于:
$("input[name='iptName'][CHECKED]").size()
显然,IE(8种口味的)对这个案子很敏感勾选“,”:勾选“,”[勾选]”是无效的
还有人碰到这个吗