我有一个复选框列表
<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/