gpt4 book ai didi

javascript - 循环遍历选定的复选框 jQuery

转载 作者:行者123 更新时间:2023-11-28 19:49:32 25 4
gpt4 key购买 nike

我正在尝试使用以下代码获取所有选定复选框的值,以将它们插入到文本区域中。

 $('input[name="user"]:checked').each(function(){
parent.setSelectedGroup($(this).val()+ "\n");
});

但我总是只得到一个值。

如何以正确的方式编写代码来获取所有选定复选框的值?

谢谢!

编辑

1) “父”,因为复选框位于 fancybox.iframe 中。

2)父窗口中setSelectedGroup是

function setSelectedGroup(groupText){
$('#users').val(groupText);

最佳答案

获取了所有值,只需在集合的每次循环中将新值传递给setSelectedGroup即可。我假设该方法替换内容而不是附加内容,因此您根本看不到它发生,因为它太快了。

parent.setSelectedGroup(
//select elements as a jquery matching set
$('[name="user"]:checked')
//get the value of each one and return as an array wrapped in jquery
//the signature of `.map` is callback( (index in the matching set), item)
.map(function(idx, el){ return $(el).val() })
//We're done with jquery, we just want a simple array so remove the jquery wrapper
.toArray()
//so that we can join all the elements in the array around a new line
.join('\n')
);

应该这样做。

其他一些注意事项:

  • 没有理由指定输入选择器名称属性,通常名称属性仅与 input/select/textarea 系列元素一起使用。
  • 我还会避免在循环内写入 DOM。除了减少修改状态次数的更好技术之外,它的性能往往会更差,因为浏览器必须在每次循环时进行布局计算。
  • 强烈建议几乎总是为您关心的页面部分选择父元素。并将其传递为 context parameter for jquery selectors 。这将帮助您确定 html 更改的范围,并且不会意外修改页面其他部分的内容。

关于javascript - 循环遍历选定的复选框 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23746443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com