首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检查控制台中是否选中了列表项

如何检查控制台中是否选中了列表项
EN

Stack Overflow用户
提问于 2021-06-17 02:08:57
回答 4查看 230关注 0票数 0

我希望在控制台中选择选中的复选框。即使我正在检查复选框,它仍然在控制台中返回“未选中”。

代码语言:javascript
运行
复制
const list = Array.from(document.querySelectorAll('.specializations-list'));

list.forEach(function (listItems) {
    if (listItems.checked) {
        console.log('checked');
    } else {
        console.log('not checked');
    }
})
代码语言:javascript
运行
复制
 <form class="form">

                <div class="specializations-list">
                        <div class="list-items">
                
                <input type="checkbox" name="specialization" value = "Item-1">Item-1
                        <br>

                <input  type="checkbox" name="specialization" value="Item-2">Item-2
                        <br>   
                       
                <input  type="checkbox" name="specialization" value="Item-3">Item-3
                        </div>   

                                                
                <input  type="checkbox" name="specialization" value="Item-4" >Item-4
                        <br>

                <input type="checkbox" name="specialization" value="Item-5" >Item-5
                         <br>     
                       
                <input type="checkbox" name="specialization" value="Item-6">Item-6
           
                </div>
    </form>    

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2021-06-17 02:29:07

您可以在复选框更改时使用event.target和事件侦听器。

代码语言:javascript
运行
复制
const list = Array.from(document.querySelectorAll("input[type='checkbox']"));

function check(e){
if (e.target.checked) {
      console.log(`${e.target.value} is checked`);
    } 
}

list.forEach(function(listItems) {
  listItems.addEventListener('change', check)
})
代码语言:javascript
运行
复制
<form class="form">

  <div class="specializations-list">
    <div class="list-items">

      <input type="checkbox" name="specialization" value="Item-1">Item-1
      <br>

      <input type="checkbox" name="specialization" value="Item-2">Item-2
      <br>

      <input type="checkbox" name="specialization" value="Item-3">Item-3
    </div>


    <input type="checkbox" name="specialization" value="Item-4">Item-4
    <br>

    <input type="checkbox" name="specialization" value="Item-5">Item-5
    <br>

    <input type="checkbox" name="specialization" value="Item-6">Item-6

  </div>
</form>

票数 1
EN

Stack Overflow用户

发布于 2021-06-17 02:23:53

您正在循环使用错误的元素,要检查选中与否,需要检查输入元素上的checked属性,而现在则是使用类specializations-list检查div

代码语言:javascript
运行
复制
window.addEventListener('click', (event) => {
    const list = Array.from(document.querySelectorAll('.specializations-list  input[type="checkbox"]'));
    list.forEach(function (listItems) {
        if (listItems.checked) {
            console.log('checked', listItems.value);
        } else {
            console.log('not checked', listItems.value);
        }
    })
})
代码语言:javascript
运行
复制
<form class="form">
      <div class="specializations-list">
       <div class="list-items">

      <input type="checkbox" name="specialization" value = "Item-1">Item-1
              <br>

      <input  type="checkbox" name="specialization" value="Item-2">Item-2
              <br>   

      <input  type="checkbox" name="specialization" value="Item-3">Item-3
              </div>   


      <input  type="checkbox" name="specialization" value="Item-4" >Item-4
              <br>

      <input type="checkbox" name="specialization" value="Item-5" >Item-5
               <br>     

      <input type="checkbox" name="specialization" value="Item-6">Item-6

      </div>
</form>

票数 1
EN

Stack Overflow用户

发布于 2021-06-17 02:17:11

您正在查询div元素。您必须查询输入元素,而不是div元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68011993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档