[英]Get checked values of checkbox list using jquery
I have a couple of checkbox with the name etapes
. 我有几个名为
etapes
的复选框。 I'd like to get all the checked etapes
's value and store it in a single string. 我想获取所有检查过的
etapes
的值,并将其存储在单个字符串中。
So tried this : 所以尝试了这个:
$('[name="etapes"]:checked').each(function() {
indexer = indexer + 1;
if (indexer == 1) selectedEtapes = $(this).val();
else selectedEtapes = selectedEtapes + "," + $(this).val();
});
but it didn't work. 但这没用。 SO how can I fix this issue?
那我该如何解决这个问题呢?
Easier solution is to use jQuery.map
最简单的解决方案是使用
jQuery.map
var mapped = $('[name="etapes"]:checked').map(function() { return this.value; }).get(); console.log(mapped.join(','));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <input type="checkbox" name="etapes" value="Ouverte1" checked> <input type="checkbox" name="etapes" value="Ouverte2"> <input type="checkbox" name="etapes" value="Ouverte3" checked>
Fix for your code: 修复您的代码:
You never accepted index
argument, 您从未接受过
index
参数,
var selectedEtapes = '';
$('[name="etapes"]:checked').each(function(index) {
if (!index) selectedEtapes += $(this).val();
else selectedEtapes += "," + $(this).val();
});
You can do it using map()
method like following. 您可以使用
map()
方法执行此操作,如下所示。
var str = $('[name="etapes"]:checked').map(function() { return $(this).val(); }).get().join(); console.log(str)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="checkbox" name="etapes" value="Ouverte1" checked="checked"> <input type="checkbox" name="etapes" value="Ouverte2"> <input type="checkbox" name="etapes" value="Ouverte3" checked="checked"> <input type="checkbox" name="etapes" value="Ouverte4" checked="checked">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.