function add_row_retail() {
$(document).ready(function () {
var table = document.getElementById("Retail");
var row = table.insertRow(-1);
var row_id = $('#Retail').val('tr[id]:last');
console.log(row_id);
var cell_init = row.insertCell(-1);
cell_init.innerHTML = "blank";
});
}
我试图在添加的行之前获取表行(<tr>
)的id,然后使用正确的parseint(...)向其中添加1。然后对下一个单元格(<td>
)执行相同操作,以便每个单元格对每个表格都有唯一的ID。我似乎无法找到该行的ID。
这是我的问题的“正确”代码
function add_row_retail() {
var table = document.getElementById("Retail");
// Row id
var row_id = $('#Retail tr:last').attr('id');
var row = table.insertRow(-1);
var next_row_id = "tr_" + (1+parseInt(row_id.match(/\d+/)[0],10));
$(row).attr('id', next_row_id);
for (var i = 0; i < 8; i++) {
var cell_id = $('#Retail td:last').attr('id');
console.log(cell_id);
var next_cell_id = "td_" + (1+parseInt(cell_id.match(/\d+/)[0],10)); console.log(next_cell_id);
var cell = row.insertCell(-1);
$(cell).attr('id', next_cell_id);
$(cell).innerHTML = "blank";
}
}
答案 0 :(得分:0)
而不是我认为你想要的$('#Retail').val('tr[id]:last');
:
var row_id = $('#Retail tr:last').attr('id')
此选择器查找#Retail
元素下的最后一个tr,并返回其id
属性。
jQuery最后一个选择器:http://api.jquery.com/last-selector/
下一个问题:ID无法以数字开头。将您的ID重命名为&#34; tr_1&#34;,&#34; tr_2&#34;等。
下一个问题:从字符串中提取数字:
"tr_123".match(/\d+/)[0]; // returns 123.
为其添加1:
var next_id = "tr_" + (1+parseInt("tr_123".match(/\d+/)[0],10));
然后,设置您的新ID。
var row = table.insertRow(-1);
...
$(row).attr('id', next_id);