我的问题与我现有的问题有关。请参阅我的fiddle
如果单击“添加行”按钮,将添加tr。我想在“添加行”按钮之前添加tr。
我尝试了以下代码:
$tr.prependTo($(this).closest('tr'));
到
$tr.insertBefore($(this).closest('tr'));
但没用。我无法解决它。任何人都可以节省我的时间吗?
答案 0 :(得分:3)
使用on(),因为live()已从较新的 jQuery版本中删除。同时使用counter class
作为id
必须是唯一的
$(".AddRow").on('click',function () {
var index = $(this).closest('tr').index();
var $tr = $(this).closest('tr').clone(true);
var $input = $tr.find('input.startdatum');
var index = $tr.find('input.counter').val();
$tr.find('.AddRow').val('Delete') // set value to Delete
.toggleClass('AddRow delete') // toggle classes
.unbind('click'); // unbind the current events from button
var id = 'datepicker' + index;
index++;
$tr.find('input.counter').val(index);
$input.attr('id', id).data('index', index);
$tr.prependTo($(this).closest('table'));
setdatepicker();
});
// bind click event to delete entire row
$(document).on('click','.delete',function(){
$(this).closest('tr').remove();
});
<强> Live Demo 强>
此外,如果您看到自己的代码,那么prepending
行是appending
,而不是index
,如果您将new tr class
应用为{{1}},那么您可以看到差异。< / p>
答案 1 :(得分:0)
我改变了这一行,并且它的工作......
var $tr = $(this).closest('tr').clone().insertBefore(this);
$tr.prependTo($(this).closest('table'));