Ich habe zwei Tabellen, die ich versuche, Zeilen zwischen verschieben - searchResultsTable
und selectedCustomersTable
. Es ist eine ziemlich einfache Aufgabe - einfach in der Lage sein, die Zeilen kontinuierlich zwischen den beiden Tabellen hin und her zu bewegen.jQuery 1.7 Verschieben von Zeilen zwischen Tabellen
Ich verschiebe mehrere Zeilen von searchResultsTable
in die selectedCustomersTable
und umgekehrt. So kann der Benutzer mit den Schaltflächen Hinzufügen und Entfernen fortlaufend Zeilen zwischen den beiden Tabellen hin- und herschieben.
Die Schaltfläche Hinzufügen ist, wenn die searchResultsTable
Zeilen ausgewählt hat und Sie diese in die selectedCustomersTable
verschieben möchten. Das funktioniert.
Die Schaltfläche "Entfernen" dient zum Auswählen von Zeilen in selectedCustomersTable
und zum Entfernen/Zurücksetzen der Zeilen in die searchResultsTable
. Das scheint nicht zu funktionieren. Nachdem Sie die Zeilen einige Male hin- und herbewegt haben, scheint es so, als seien die Ereignisse verloren gegangen und es hört einfach auf zu arbeiten. Ich versuche, die .on
Ereignissache in jquery 1.7 zu verwenden, aber habe kein Glück. Die Funktion "Zeilen zwischen zwei Tabellen verschieben" wird nicht immer wieder funktionieren. Es ist wie es einmal funktioniert, dann wird es nicht immer wieder funktionieren.
Hier ist mein jQuery-Code - kann jemand sehen, was die Sache ist und bieten einen Weg, um dies wieder und wieder zu arbeiten? Immer und immer wieder - das heißt - die Zeilen zwischen zwei Tabellen für immer vor und zurück bewegen, wenn der Benutzer dies wünscht.
<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>