我有jquery动态地向表中添加行,jquery代码是(简化)的:
var addTimeRow = function(id){
html = '<tr id="times_'+i+'">';
html += '<td>';
html += '</td>';
html += '</tr>';
if( typeof id !== "undefined"){
$('#times_'+id).after(html);
}else{
$('table').append(html);
}
$('#timestart').focus();
i++;
}
我的HTML就是这样(简化):
<table id="timestart">
<?php foreach ( $invoice['InvoiceTime'] as $key=>$item){?>
<tr id="times_<?php echo $key+1?>">
<?php } ?>
<?php }else{?>
<tr id="times_1">
我有一个添加时间的按钮:
<span class="add_time" id="add_icon_1"><button class="btn btn-success" type="button">+ Add Time</button></span>
Jquery按钮代码:
$(document).on('click','.add_time',function(){
var add_time_id = $(this).attr('id');
var add_time_arr = add_time_id.split("_");
var time_id = add_time_arr[add_time_arr.length-1];
addTimeRow(time_id);
});
代码在表中添加一行,但不会将其添加到我想要的位置。我希望它的工作方式是当你单击添加时间按钮时,输出是这样的:
<table>
<tr><-- Time added here at the beginning no matter what
<td></td>
</tr>
<tr><-- Previous added time
etc
添加了备注:
在遵循Niet the Dark Absol发布的建议时,
删除行已被破坏:
$(".deletetime").on('click', function() {
$(this).closest('tr').remove();
});
答案 0 :(得分:0)
只需使用append
操作,如下所示:
$(function(){
$('.tbody').append('<tr>TableDataHere</tr>');
})
它运作正常,并不需要你已经拥有的东西。我不能100%确定你为什么要使用PHP(?)。如果我能猜到你正在尝试做什么,JQuery可以更清洁,更快速地做到这一点。