javascript - 无法在 javascript 中将所有复选框重置为未选中

标签 javascript jquery

我正在尝试重置所有附加的复选框以取消选中表单。但是当我编写新的 javascript 代码使所有复选框都取消选中时。我的表单甚至不允许我添加这些复选框

我的html代码

    <h1>Add or reset all </h1>
    <hr>
    <br>
    <button type="button" id="btn" onclick="addItems">Add Item</button>

    <input type="text" id="texto">
     <ul id="ul"> </ul>


我的 javascript 代码:



    function addItem(){

    var ul = document.getElementById('ul'); //ul
    var li = document.createElement('li');//li

    var checkbox = document.createElement('input');
        checkbox.type = "checkbox";
        checkbox.value = 1;
        checkbox.name = "todo[]";

    li.appendChild(checkbox);

    var text = document.getElementById('texto');
    li.appendChild(document.createTextNode(text.value));
    ul.appendChild(li); 
    }

    var button = document.getElementById('btn');
    button.onclick = addItem;

当我添加此功能以取消选中所有附加的复选框时,它甚至不允许我将复选框添加到我的表单中


 <input type="button" onclick="uncheckAll2()" class="btn btn-link" value="Uncheck All">

和Javascript函数

 function uncheckAll2() 
  {
  var inputs = document.querySelectorAll('.check2');
  for(var i = 0; i < inputs.length; i++) {
  inputs[i].checked = false;
  }

你能修好吗?感谢进阶。

最佳答案

问题出在 document.querySelectorAll('.check2'); 没有复选框有 .check2 类。尝试在添加新复选框时添加类 .check2。

<h1>Add or reset all </h1>
<input type="button" onclick="uncheckAll2()" class="btn btn-link" value="Uncheck All">
<hr>
<br>
<button type="button" id="btn" onclick="addItems">Add Item</button>

<input type="text" id="texto">
<ul id="ul"> </ul>
<script>
    function addItem() {

        var ul = document.getElementById('ul'); //ul
        var li = document.createElement('li');//li

        var checkbox = document.createElement('input');
        checkbox.type = "checkbox";
        checkbox.value = 1;
        checkbox.name = "todo[]";
        checkbox.className = "check2";
        li.appendChild(checkbox);

        var text = document.getElementById('texto');
        li.appendChild(document.createTextNode(text.value));
        ul.appendChild(li);
    }

    var button = document.getElementById('btn');
    button.onclick = addItem;

    function uncheckAll2() {
        var inputs = document.querySelectorAll('.check2');
        for (var i = 0; i < inputs.length; i++) {
            inputs[i].checked = false;
        }
    }
</script>

关于javascript - 无法在 javascript 中将所有复选框重置为未选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55478853/

相关文章:

javascript - 如何将 html div 转换为图像,然后另存为 gif 或 png?

javascript - Vue.js 组件调用 data 属性内的方法

javascript - 避开收费公路特征权重值说明

javascript - Jquery getJson 发送 $_GET var 以检索正确的 json 字符串

javascript - polymer 输入变化事件

javascript - 在对新内容进行ajax调用后同步调用javascript

javascript - 为什么 onreadystatechange 函数在 Windows 中不起作用

javascript - 附加元素的 JQuery 悬停状态

php - 带警报的 AJAX 提交功能不起作用

jquery - Laravel:数据表的 SQLSTATE[23000] 错误