我有兩個表格,我試圖在 - searchResultsTable
和selectedCustomersTable
之間移動行。這是一個非常簡單的任務 - 只要能夠連續地在兩個表之間來回移動行即可。jQuery 1.7在表格之間來回移動
我從searchResultsTable
將多行移入selectedCustomersTable
,反之亦然。因此,用戶可以使用添加和刪除按鈕不斷地在兩個表格之間來回移動行。
添加按鈕是當searchResultsTable
選擇了行並且您想將它們移動到selectedCustomersTable
時。這樣可行。
刪除按鈕用於選擇selectedCustomersTable
中的行並將其移除/移回到searchResultsTable
。這似乎並不奏效。在將行向前/向後移動幾次之後,似乎事件丟失了,它就停止工作。我試圖在jquery 1.7中使用.on
事件,但我沒有運氣。 「在兩個表格之間移動行」功能不會一遍又一遍地工作。它就像是一次工作,那麼它不會一遍又一遍地工作。
這是我的jQuery代碼 - 可以有人看到問題是什麼,並提供一種方法讓這個工作一遍又一遍?一遍又一遍 - 意思是 - 如果用戶想要這樣做,則會在兩張桌子之間來回移動行。
<script type="text/javascript">
$(function() {
$('#searchResultsTable').on('click', function (e) {
bindTableEvents();
});
$('#selectedCustomersTable').on('click', function (e) {
bindTableEvents();
});
bindTableEvents();
function bindTableEvents() {
var $t1 = $('#searchResultsTable');
var $t2 = $('#selectedCustomersTable');
alert('in');
setupTable($t2);
setupTable($t1);
}
function setupTable($table) {
$table.initializeTable({
navigate: {
control: { keyboard: true, mouse: true },
select: { multiple: true }
}
});
$table.on('mouse', function (e, event) {
if (event.which == 1 && !event.ctrlKey && !event.shiftKey) {
var $selected = $table.selected();
if ($selected.length == 1) {
!$selected.hasClass('active');
}
}
});
$table.on('keyboard', function (e, event) {
var $selected = $table.selected();
switch (event.which) {
case 13:
//ENTER
if ($selected.length == 1) {
!$selected.hasClass('active');
}
if ($selected.length > 0) {
}
break;
case 46:
//DELETE
if ($selected.length > 0) {
}
break;
}
});
}
$('#addButton').click(function() {
var selectedRows = $('#searchResultsTable').selected();
$('#selectedCustomersTable').append(selectedRows.removeClass('focus').remove());
});
$('#removeButton').click(function() {
var selectedRows = $('#selectedCustomersTable').selected();
$('#searchResultsTable').append(selectedRows.removeClass('focus').remove());
});
});
</script>