【问题标题】:Button onclick only checkes the first appended checkbox按钮 onclick 仅检查第一个附加的复选框
【发布时间】:2010-11-30 21:24:10
【问题描述】:

使用下面的脚本,我在单击附加按钮时附加了 3 个元素。

  • 一个复选框
  • 输入文本字段
  • 删除按钮

现在,当单击删除按钮时,复选框被选中, 但是当我附加另一个(我们称之为一个组)三个项目时,脚本不起作用。

谁能解释我如何以某种方式链接元素。 这样每次我单击附加按钮时,元素都会链接到在单击时同时创建的元素。

非常感谢您

   <html>
   <head>
   <script language="Javascript">

     function append()
     {
    var cb = document.createElement("input");
    cb.type = "checkbox";
    cb.id = "id"
            cb.checked = false;

    var textfield = document.createElement("input");
    var delbtn = document.createElement("input");
    delbtn.type = "button";
    delbtn.value = "remove";
    delbtn.onclick= function(){remove()}

    document.getElementById('append').appendChild(cb);
    document.getElementById('append').appendChild(textfield);
    document.getElementById('append').appendChild(delbtn);
  }


 function remove()
 {
    id.checked = true;      
 }
   </script>
   </head>
   <body>
      <div id="append"></div>
      <input type="button" value="append" onClick="javascript:append()"/>
   </body>
</html>

【问题讨论】:

    标签: javascript button append checkbox


    【解决方案1】:

    每次添加新复选框时,您都在运行

    cb.id = "id"
    

    这是有问题的,因为元素应该有唯一的 id。

    此外,您在全局范围内通过其 id 引用该元素:

    id.checked = true;
    

    您应该改用标准的 document.getElementById()。

    【讨论】:

    • 谢谢,但这是否意味着我必须从三个创建的元素中创建一个数组?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 2018-02-27
    • 1970-01-01
    • 2011-04-28
    • 2021-02-17
    • 2016-11-05
    • 1970-01-01
    相关资源
    最近更新 更多