使用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的map
function
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控件的名称。