我試圖在點擊按鈕的行下添加一定數量的行(取決於文本框中輸入的數字)。它在第一行工作正常,但在第二行按鈕時它不工作(它一直插在第一行下面)。Javascript:不插入右側索引行表
這裏的小提琴: https://jsfiddle.net/L4zffok1/
$('.add-rows').click(function(){
var $bx_id;
var $num_rows;
var table = document.getElementById("myTable");
$bx_id = this.id;
$num_rows = $('#num_boxcodes_'+$bx_id).val();
for (i = 0; i < $num_rows; i++) {
var row = table.insertRow($bx_id);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
var cell3 = row.insertCell(2);
var cell4 = row.insertCell(3);
var cell5 = row.insertCell(4);
var cell6 = row.insertCell(5);
var cell7 = row.insertCell(6);
var cell8 = row.insertCell(7);
cell1.innerHTML = '------';
cell2.innerHTML = '------';
cell3.innerHTML = '------';
cell4.innerHTML = '------';
cell5.innerHTML = '------';
cell6.innerHTML = '------';
cell7.innerHTML = '------';
cell8.innerHTML = '------';
}
});
因爲沒有與像「num_boxcodes _...'ID沒有 –
一旦你插入的行,下面的任何現有行的ID將不再相關,因爲到你的小提琴不會在所有的工作在按下按鈕時插入... –
問題是傳遞給'insertRow'的參數rownumber。一旦添加了更多行,最後一行將被下推,並根據表中的行數得到新的索引。然後,當您將新行的「r」作爲rownumber傳遞給它時,它們將插入到最後一行之前的行中。換句話說,您的腳本中存在嚴重的邏輯缺陷。 – adeneo