我有一个复选框列表
<input type="checkbox" name="box1" id="box1" value="x1">X1
<input type="checkbox" name="box1" id="box1" value="x2">X2
<input type="checkbox" name="box1" id="box1" value="x3">X3
复选框的名称和复选框的数量是动态的。
要检索所选复选框的值,我正在使用以下功能
var urls = "";
var values = "";
var fldname = "box"+i;
$('#'+fldname+':checked').each(function() {
values += $(this).val() +"|";
});
假设我选择了X1和X3,那么在Mozilla中,“values”的值是
X1 | X3
在IE中,它只是X1。
请帮忙。
最佳答案
我不知道您的代码在Mozilla中的工作方式,因为您的语法错误。
您已为所有复选框指定了名称,但正在使用ID查询它们
你需要类似的东西
$('[name="' + fldname + '"]:checked');
这基本上是查找具有给定名称的元素。您可以使其更具体
$('input[name="' + fldname + '"]:checkbox:checked');
这是一个不使用迭代的示例:http://jsbin.com/ikifi5
关于javascript - jQuery .each在IE中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6123402/