jquery .each 无法在 IE 中工作

发布于 2024-11-09 18:30:41 字数 544 浏览 0 评论 0原文

我有一个复选框列表

<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 中“值”的值为

X1 | X3

而在 IE 中则只是 X1。

请帮忙。

I have a list of checkbox

<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

The name of the checkbox and the count of checkbox is dynamic.

To retrieve the values of selected checkbox i am using the function as

var urls = "";
var values = "";
var fldname = "box"+i;
$('#'+fldname+':checked').each(function() {
values += $(this).val() +"|";
});

Say I have selected X1 and X3 then in Mozilla the value of "values" is

X1 | X3

While in IE it is just X1.

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

老街孤人 2024-11-16 18:30:41

我不知道你的代码在 Mozilla 中是如何工作的,因为你的语法是错误的。

您已经给了所有复选框名称,但正在使用 ID 查询它们

您需要类似这样的内容,

$('[name="' + fldname  + '"]:checked');

这基本上会查找具有给定名称的元素。您可以使其更具体

$('input[name="' + fldname  + '"]:checkbox:checked');

,这是一个不使用迭代的示例:http://jsbin.com/ikifi5

I don't know how your code worked in Mozilla because your syntax is wrong.

You've given all your checkboxes names, but are querying for them using IDs

You need something like

$('[name="' + fldname  + '"]:checked');

This basically looks for elements with the given name. You can make it more specific

$('input[name="' + fldname  + '"]:checkbox:checked');

Here's an example that doesn't use your iteration : http://jsbin.com/ikifi5

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文