我试图在两个表之间移动行,但我无法让它保持 click 事件绑定到它。我对.on
事件的选择器部分感到困惑,我不确定我应该以此为目标。
基本上我可以让它移动到一张桌子,然后返回,但它失去了点击属性。不知道为什么。
我附上了一个小提琴(http://jsfiddle.net/Yjqkn/216/)以使问题更清楚。批准按钮将其向下移动,等待列表按钮将其移回,但随后它会丢失所有事件侦听器我是否需要使用.bind
解决此问题的最佳方法来重新绑定它们。
我试过了:.on("click","button.remove-participant",function()
没用
Javascript
$( ":button" ).on("click",function(){
if($(this).hasClass('remove-participant')) {
$(this).removeClass('remove-participant').addClass('add-participant');
$(this).html('Approve');
var current_row = $(this).closest('tr').html();
$('.table_2 > tbody:last').append('<tr>'+current_row+'</tr>');
$(this).closest('tr').remove();
$( ".table_2 .add-participant" ).bind( "click", function() {
$(this).removeClass('add-participant').addClass('remove-participant');
var current_row = $(this).closest('tr').html();
$(this).html('Waitlist');
$('.table_1 > tbody:last').append('<tr>'+current_row+'</tr>');
$(this).closest('tr').remove();
});
}
});
HTML
<table class="table_1">
<tr>
<th>Info Header 1</th><th>Info Header 2</th>
</tr>
<tbody>
<tr><td>Don</td>
<td><button class="remove-participant" name="">Remove</button></td>
</tr>
</tbody>
</table>
<table class="table_2">
<tr>
<th>Info Header 1</th><th>Info Header 2</th>
</tr>
<tbody>
<tr></tr>
</tbody>
</table>