我在HTML页面中有20个check boxes
(动态编号),默认情况下为checked
。用户可以uncheck
或保留checked
。最后,有一个用于submit
的按钮。
如何获取仅在提交时检查的项目?
答案 0 :(得分:1)
对于普通的javascript解决方案,您可以使用document.querySelectorAll()
。
检索复选框,然后将其循环,然后将所有具有push()
属性的复选框都checked: true
到名为checked
的数组中。
var checkboxes = document.querySelectorAll("input[type=checkbox]");
var submit = document.getElementById("submit");
function getChecked() {
var checked = [];
for (var i = 0; i < checkboxes.length; i++) {
var checkbox = checkboxes[i];
if (checkbox.checked) checked.push(checkbox.value);
}
return checked;
}
submit.addEventListener("click", function() {
var checked = getChecked();
console.log(checked);
});
<input type="checkbox" value="first" checked>
<input type="checkbox" value="second" checked>
<input type="checkbox" value="third" checked>
<input type="submit" id="submit">
答案 1 :(得分:0)
通过css Class
获取所有复选框,并反复检查条件element.checked
检查此代码段
function checkCheckBoxes(){
$("input.abc").each(function(index, element){
if(!element.checked){
console.log(index+" not checked");
} else{
console.log(index+" checked");
}
});
return false;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="">
<input type="checkbox" class="abc"/>
<input type="checkbox" class="abc"/>
<input type="checkbox" class="abc"/>
<input type="checkbox" class="abc"/>
<input type="checkbox" class="abc"/>
<input type="checkbox" class="abc"/>
<input type="checkbox" class="abc"/>
<input type="checkbox" class="abc"/>
<input type="submit" onclick="return checkCheckBoxes()" value="Submit">
</form>