如何将复选框的动态ID传递给jQuery?

时间:2019-02-21 18:28:53

标签: javascript jquery

我想将复选框的动态ID传递给jQuery,以检查复选框是否被选中。考虑这种情况:

<input type = 'checkbox' id ='myid<?= echo '1'; ?>' checked=''>checkbox1
<input type = 'checkbox' id='myid<?= echo '2'; ?>' checked=''>checkbox2

因此ID为:myid1myid2。在id的帮助下,我需要获取复选框的当前状态。假设,如果我选中checkbox1,它应该给true,如果我不选中它,它应该给false

如何在JavaScript中获取ID并根据ID检索当前状态?

1 个答案:

答案 0 :(得分:0)

这是将onchange事件分配给每个复选框的简单方法。

document.querySelectorAll("input[type='checkbox']").forEach((checkbox)=>{
  let input = checkbox;
  input.addEventListener("change", function(){
    console.clear();
    console.log("checkBox with id " + input.id + " is " + input.checked)
  });
});
<input type = 'checkbox' id ='myid1' checked=''>chekcbox1
<input type = 'checkbox' id='myid2' checked=''>checkbox2

并使用jQuery:

$("input[type='checkbox']").change(function(){
  console.clear();
  console.log("checkBox with id " + $(this).attr("id") + " is " + $(this).is(":checked"))
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type = 'checkbox' id ='myid1' checked=''>chekcbox1
<input type = 'checkbox' id='myid2' checked=''>checkbox2