我正在尝试使用以下代码获取所有选中复选框的值,以将它们插入到textarea中。
$('input[name="user"]:checked').each(function(){
parent.setSelectedGroup($(this).val()+ "\n");
});
但我总是只得到一个值。
如何以正确的方式编写代码以获取所有选中复选框的值?
提前致谢!
修改
1)“parent”,因为复选框位于fancybox.iframe中。
2)父窗口中的setSelectedGroup为
function setSelectedGroup(groupText){
$('#users').val(groupText);
答案 0 :(得分:3)
您 获取所有值,只需在每个循环中通过您将新值传递给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')
);
应该这样做。
其他几点说明: