使用jQuery来获取所选checkbox的值

我想通过checkbox组“locationthemes”循环,并build立一个string与所有选定的值。 所以当selectcheckbox2和4时,结果将是:“3,8”

<input type="checkbox" name="locationthemes" id="checkbox-1" value="2" class="custom" /> <label for="checkbox-1">Castle</label> <input type="checkbox" name="locationthemes" id="checkbox-2" value="3" class="custom" /> <label for="checkbox-2">Barn</label> <input type="checkbox" name="locationthemes" id="checkbox-3" value="5" class="custom" /> <label for="checkbox-3">Restaurant</label> <input type="checkbox" name="locationthemes" id="checkbox-4" value="8" class="custom" /> <label for="checkbox-4">Bar</label> 

我在这里检查: http : //api.jquery.com/checked-selector/但没有例子如何select一个checkbox组的名称。

我怎样才能做到这一点?

在jQuery中只使用一个属性select器

 $('input[name="locationthemes"]:checked'); 

select名称为“locationthemes”的所有选中input

 console.log($('input[name="locationthemes"]:checked').serialize()); //or $('input[name="locationthemes"]:checked').each(function() { console.log(this.value); }); 

演示


VanillaJS

 [].forEach.call(document.querySelectorAll('input[name="locationthemes"]:checked'), function(cb) { console.log(cb.value); }); 

演示

 $('input:checkbox[name=locationthemes]:checked').each(function() { // add $(this).val() to your array }); 

工作演示

要么

使用jQuery的is()函数:

 $('input:checkbox[name=locationthemes]').each(function() { if($(this).is(':checked')) alert($(this).val()); }); 

使用jQuery的mapfunction

 var checkboxValues = []; $('input[name=checkboxName]:checked').map(function() { checkboxValues.push($(this).val()); }); 
 You can also use the below code $("input:checkbox:checked").map(function() { return $(this).val(); }).get(); 

$("#locationthemes").prop("checked")

映射arrays是最快最干净的。

 var array = $.map($('input[name="locationthemes"]:checked'), function(c){return c.value; }) 

会像下面这样返回值:

 array => [2,3] 

假设城堡和谷仓被检查,其他人没有。

所以在一行中:

 var checkedItemsAsString = $('[id*="checkbox"]:checked').map(function() { return $(this).val().toString(); } ).get().join(","); 

..关于select器的注意事项[id*="checkbox"] ,它将抓住任何与其中的string“checkbox”的项目。 这里有点笨拙,但是如果你想从.NET CheckBoxList这样的东西中拉出选定的值,那真的很好。 在这种情况下,“checkbox”将是您给CheckBoxList控件的名称。