我有一张这样的表
HTML
<table id='tab_imput'>
<tr>
<td>
<select id='eotp'>
<option>...</option>
</select>
</td>
<td>
<input id='cc'>
</td>
<td>
<select id='dest'>
<option>...</option>
</select>
</td>
<td>
<input id='quot'>
</td>
</tr>
</table>
我希望通过循环(imput)向表中添加行,并使用数据填充每个元素,它看起来对第一行很好但不适用于下一行,任何帮助都会非常感谢。谢谢
这是我的代码:
$.each(imput, function( index, value ) {
eotp = $('#tab_imput tbody>tr:last').find($("select[id^='eotp']"));
eotp.attr('value',imput[index].EOTP).attr('selected', 'selected');
dest = $('#tab_imput tbody>tr:last').find($("select[id^='dest']"));
dest.attr('value',imput[index].DESTINATION).attr('selected', 'selected');
tr = eotp.closest("tr");
$.post("ajax/ajax_imputation.php", {eotp_val: imput[index].EOTP}, function(response){
tr.find("#cc").val(response);
});
$.post("ajax/ajax_imputation.php", {dest: 'ok', id_dest:imput[index].DESTINATION}, function(response){
tr.find("#quot").val(imput[index].QUOTITE);
});
if(index > 1){
$('#tab_imput tbody>tr:last').clone(true).insertAfter('#tab_imput tbody>tr:last');
}
});
答案 0 :(得分:0)
据我了解,您的算法看起来像这样:
请注意,元素在$ .each函数中从0开始而不是从1开始编制索引。你的流程如下:
它不是错误的来源吗?如果是这样,也许最好在填充数据之前克隆行,除了第一个迭代之外的每次迭代。