动态添加行时计数器的增量
Increment of counter on dynamic addition of rows
我正在尝试动态添加行以及计数器的自动增量。我想从 1 开始,然后 2 然后 3,依此类推.我已经在 plunker 上添加了我的代码,其中每次最大值都在第一列中出现,例如 4,然后是 1,1,2,3.我哪里出错了?我希望它是 1,2,3,4。
这是 plunker 链接 http://plnkr.co/edit/GuDbJ3SHOPvWkHfNfd8E?p=preview
var _counter = 0;
function Add() {
_counter++;
var oClone = document.getElementById("template").cloneNode(true);
oClone.id += (_counter + "");
document.getElementById("placeholder1").appendChild(oClone);
document.getElementById("myVal").value=_counter;
}
<div id="placeholder1">
<div id="template">
<div>
Value:<input type="text" id="myVal" placeholder="1">
Quantity:<input type="text" placeholder="Qty">
<input type="button" onClick="Add()" value="Click! ">
</div>
</div>
我认为这是因为您有多个div 带有 id="myVal"。 id 属性在网页上应该是唯一的。 否则,您的页面仍将加载,但您可能会遇到意外行为。
您正在更改模板div 的 id,但不会更改 myValdiv。
我假设你正在寻找这样的东西:
var _counter = 0;
function Add() {
_counter++;
var oClone = document.getElementById("template").cloneNode(true);
oClone.id += (_counter + "");
document.getElementById("placeholder1").appendChild(oClone);
oClone.getElementsByClassName("myVal")[0].value = _counter;
}
<div id="placeholder1">
<div id="template">
<div>
Value:
<input type="text" class="myVal" placeholder="1">Quantity:
<input type="text" placeholder="Qty">
<input type="button" onClick="Add()" value="Click! ">
</div>
</div>
</div>
在原始版本中,您正在克隆具有相同输入id
的模板。因此,当您执行document.getElementById("myVal").value=_counter;
时,您只会获得第一个输入。我将其更改为使用 class
并获取具有相应类的输入,该类是克隆节点的子级。
相关文章:
- 如何在Google柱状图中动态添加行/列
- 使用jQuery动态添加表并在其中动态添加行
- Angularjs在当前行位置添加行
- 在change事件javascript上动态添加行
- 当源工作表添加了行时,如何编写在一个工作表中添加行的脚本
- 添加行并运行多个mySQL查询
- 为计数器添加滑动效果
- 基于用户垂直滚动向HTML表添加行
- 在表中动态添加行
- 在使用 javascript 动态添加行时,我正在增加索引值,但出现错误
- 动态添加行时计数器的增量
- 提交表单时如何在 HTML 表格中添加行
- 按React按钮添加行
- 用于在表中添加行的Javascript代码将单元格中的数据复制到新行中
- 删除添加行
- 动态添加行时,启用/禁用Gridview中的验证程序
- 使用JS向html表添加行
- Datepicker克隆ID在添加行时保持不变
- 如何在文本框vue.js上根据指定的数字添加行
- 如何使用DWR addRows函数在顶部添加行