如何将选中的项目存储在数组中的复选框中?我尝试使用for循环,但它不起作用
for(i=0;i<selectedQuote.length;i++) {
}
我相信这将达到您的目的。
function ShowValue(){
var arrayTemp=[];
$('input[type="checkbox"]:checked').each(function(){
arrayTemp.push($(this).val());
});
/*
If you want to itterate the array
for(var i=0;i<arrayTemp.length;i++){
console.log(arrayTemp[i]);
}
*/
$("#result").html(arrayTemp);
}
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>
<body>
<input type="checkbox" value="val1">Val 1
<input type="checkbox" value="val2">Val 2
<input type="checkbox" value="val3">Val 3
<button onclick="return ShowValue()"> Show </button>
<div id="result">
</div>
</body>
</html>
要获得预期的结果,请使用以下选项使用querySelectorall使用属性名称
获取所有复选框var elem = document.querySelectorAll('[name=sports]');//all checkbox elements
var checkbox =[];
for(var i =0; i < elem.length; i++){
if(elem[i].checked){
checkbox.push(elem[i].value)
}
}
console.log(checkbox)
https://codepen.io/nagasai/pen/oqobel
用于捕获检查的元素动态使用AddEventListener
var elem = document.querySelectorAll('[name=sports]');//all checkbox elements
var checkbox =[];
for(var i =0; i < elem.length; i++){
elem[i].addEventListener('change', function(e){
console.log(e.target.checked)
if(e.target.checked){
checkbox.push(e.target.value)
console.log(checkbox)
}else{
checkbox.splice(checkbox.indexOf(e.target.value),1)
console.log(checkbox)
}
});
}
https://codepen.io/nagasai/pen/rjzqop