如果选中复选框,则传递复选框值
Pass checkbox value IF the checkbox is checked
我有一个复选框列表,如下所示:
<div class="checkbox">
<label><input type="checkbox" value="west" name="west" id="west" checked="{{isChecked}}">West</label>
</div>
<div class="checkbox">
<label><input type="checkbox" checked="{{isChecked}}" name="airport" id="airport" value="airport">Airport</label>
</div>
<div class="checkbox">
<label><input type="checkbox" checked="{{isChecked}}" name="north" id="north" value="north">North</label>
</div>
我已经设法将每个复选框的状态作为布尔值传递给集合,如下所示:
var eventLocation = [
event.target.west.checked,
event.target.airport.checked,
]
但是,我只想传递选中复选框的值。我知道我可以使用 event.target.west.value
传递复选框的值,但要仅获取选中的复选框,我将不得不编写许多条件,这将无法很好地扩展。有更好的方法吗?
谢谢!
您可以使用以下方法快速收集所有选中的复选框:
var checked = $("input:checked");
这将 return 一个数组,您可以遍历该数组以获取 ID、值或名称。
checked.forEach(function(c){
console.log('input id: '+c.id+' name: '+c.name+' value: '+c.val+' is checked!');
});
我有一个复选框列表,如下所示:
<div class="checkbox">
<label><input type="checkbox" value="west" name="west" id="west" checked="{{isChecked}}">West</label>
</div>
<div class="checkbox">
<label><input type="checkbox" checked="{{isChecked}}" name="airport" id="airport" value="airport">Airport</label>
</div>
<div class="checkbox">
<label><input type="checkbox" checked="{{isChecked}}" name="north" id="north" value="north">North</label>
</div>
我已经设法将每个复选框的状态作为布尔值传递给集合,如下所示:
var eventLocation = [
event.target.west.checked,
event.target.airport.checked,
]
但是,我只想传递选中复选框的值。我知道我可以使用 event.target.west.value
传递复选框的值,但要仅获取选中的复选框,我将不得不编写许多条件,这将无法很好地扩展。有更好的方法吗?
谢谢!
您可以使用以下方法快速收集所有选中的复选框:
var checked = $("input:checked");
这将 return 一个数组,您可以遍历该数组以获取 ID、值或名称。
checked.forEach(function(c){
console.log('input id: '+c.id+' name: '+c.name+' value: '+c.val+' is checked!');
});