我正在尝试建立一个可以创建新行并删除它们的系统,我希望有一个计数器来计算每一行的行号。
" Num"我希望显示行号,但我无法弄清楚如何这样做。
编辑
请看我的小提琴:https://jsfiddle.net/pr05dw6p/14/
HTML code:
<div class="row">
<div class="large-8 large-offset-2 columns">
<h2>This is the table</h2>
<form method="post">
<table id="myTable" class="hover large-12 columns">
<thead>
<tr>
<th>Num.</th>
<th>Name</th>
<th>Height</th>
<th>Width</th>
</tr>
</thead>
<tbody id="bannerTable">
<tr>
<td><p></p></td>
<td><input type="text" name="name"></td>
<td><input type="number" name="height"></td>
<td><input type="number" name="width"></td>
</tr>
</tbody>
</table>
</form>
</div>
</div>
<div class="row">
<div class="large-4 large-offset-2 columns">
<button class="button expanded" onclick="newRow()">Add new row</button>
</div>
<div class=" large-4 columns">
<button class="alert button expanded" onclick="deleteRow()">Delete latest row</button>
</div>
</div>
JS代码:
//CREATE NEW BANNER - TABLE ROW COUNTER
$('#bannerTable tr').each(function(idx){
$(this).children().first().html(idx + 1);
});
//CREATE NEW BANNER - CREATE ROW
function newRow() {
var table = document.getElementById("bannerTable");
var row = table.insertRow(1);
var cell1 = row.insertCell(0);
var element1 = document.createElement('p');
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
var element2 = document.createElement('input');
element2.type="text", name="name";
cell2.appendChild(element2);
var cell3 = row.insertCell(2);
var element3 = document.createElement('input');
element3.type="number", name="height";
cell3.appendChild(element3);
var cell4 = row.insertCell(3);
var element4 = document.createElement('input');
element4.type="number", name="width";
cell4.appendChild(element4);
}
//CREATE NEW BANNER - DELETE ROW
function deleteRow(){
var table = document.getElementById("bannerTable");
var rowCount = table.rows.length;
if(rowCount>1){
table.deleteRow(-1);
}
}
答案 0 :(得分:1)
计算可以使用的行数:
var row_count = $('#bannerTable tr').length;
你可以在newRow()和deleteRow()的末尾调用它来追加结果,例如一个div。
答案 1 :(得分:0)
您可以使用
获取其他答案中所述的表格行的长度(计数)table.getElementsByTagName("tr").length
这将获得计数,您可以通过调用p
element1.innerHTML = table.getElementsByTagName("tr").length
标记的html中
我还建议您在页面初始化时运行newRow()
函数而不使用预设tr
。插入行时,行的计数也会有所帮助,以便它始终在先前插入的行之后插入一行,使Num.
列保持良好和干净。
查看此更新的小提琴:https://jsfiddle.net/pr05dw6p/19/
答案 2 :(得分:0)
我们需要做以下更改:
在Javascript代码中,我们需要计算表的TR并将其值放在table.insertRow(row_count);之后我们需要增加值并将其添加到新的<P>
标记。
<tbody id="bannerTable">
<tr>
<td><p>1</p></td>
<td><input type="text" name="name"></td>
<td><input type="number" name="height"></td>
<td><input type="number" name="width"></td>
</tr>
</tbody>
Javascript代码
//CREATE NEW BANNER - CREATE ROW
function newRow() {
var table = document.getElementById("bannerTable");
var row_count = document.getElementById("bannerTable").rows.length;
var row = table.insertRow(row_count);
row_count = row_count+1;
var cell1 = row.insertCell(0);
var element1 = document.createElement('p');
element1.innerHTML = row_count;
cell1.appendChild(element1);
var cell2 = row.insertCell(1);
var element2 = document.createElement('input');
element2.type="text", name="name";
cell2.appendChild(element2);
var cell3 = row.insertCell(2);
var element3 = document.createElement('input');
element3.type="number", name="height";
cell3.appendChild(element3);
var cell4 = row.insertCell(3);
var element4 = document.createElement('input');
element4.type="number", name="width";
cell4.appendChild(element4);
}
答案 3 :(得分:0)
var row_count = $('#myTable tbody tr').length.length;
在添加和删除行功能
之后调用它