如何使用Javascript动态添加复选框

时间:2019-03-29 18:56:06

标签: javascript html checkbox

尝试使用 document.createElement()(来自循环中与我的名字一样多的复选框-每个名称应具有自己的复选框)将Materializecss网站中的动态复选框和集合元素插入到我的html中。 / p>

我的问题:

1)它适用于收藏集,但是在我的侧边栏中没有显示复选框(请参阅底部的代码)。

2)每个复选框是否都需要不同的ID和For属性

3)我想使用从复选框和对应名称中获得的值。为此,我必须将名称放在复选框的MATCH (a:App{name:'AllAboutCubes'})<-[:MEMBER_OF]-(p:Cuber) WHERE id(p) = 1234 MATCH (p)<-[:BELONGS_TO {is_active:1}]-(c:Cube) OPTIONAL MATCH (c)<-[:RECORDED_ON]-(t:Time)-[:RECORDED]-(p) WITH c, t ORDER BY t.date DESC OPTIONAL MATCH (c)-[:TYPE]->(ct:CubeType) WITH c, ct, CASE WHEN t IS NULL THEN [] ELSE COLLECT({time:t.time,date:t.date}) END as times RETURN c.name as name, c.manufacturer as manufacturer, ct.type as type, id(c) as cube_id, times ORDER BY manufacturer 标记中:

<span>

但是我想将名称保留在此Collection标签中,而不是在复选框标签中,因为a)看起来不错b)我希望以现在的方式在名称上链接。

    <label>
    <input type="checkbox" class="filled-in" checked="checked" />
    <span>Filled in</span>
    </label>

问题是我可以从2个不同的元素中读取相应的值吗?

 <div class="collection">
    <a href="#!" class="collection-item">Alvin</a>
  </div>

2 个答案:

答案 0 :(得分:1)

  1. Materializecss需要一个label元素来包装输入和跨度,我不认为您的JavaScript会这样做,https://materializecss.com/checkboxes.html
  2. 是的,您需要不同的id,并且每个复选框的属性都不同,我建议在for循环中使用i来创建id setAttribute(“ id”,“ item_” + i);

  3. 当您询问读取值时,我认为您的意思是提交表单时是服务器端? 提交表单时,您将需要2个输入才能读取2个值,请考虑也使用隐藏输入

格式化技巧:在createElement中使用小写字母

答案 1 :(得分:0)

我主要是修复它。 删除了用于创建复选框的所有冗长的行,并将其替换为克隆原始元素的几行:

Redirect HTTP://domain1.com HTTP://domain2.com/pages

所以我在Materializecss的此Collection元素中插入了复选框:

             //cloning the original checkbox, true for cloning child tags
             var checkbox = document.getElementById("check").cloneNode(true)

             //setting unique IDs
             checkbox.setAttribute("id", "check" + i);

             //appending it to the form
             collection.appendChild(checkbox);


             //after cloning the checkboxes hide the first model of checkbox
             var checkbox1 = document.getElementById("check")
             checkbox1.style = "display:none"

仅收集行变得太宽,因为复选框无法进入链接区域内),并且链接区域占据了所有行。谁知道如何将它们全部缩小并缩小?