HTML商店在数组中检查了项目



如何将选中的项目存储在数组中的复选框中?我尝试使用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

最新更新