Αυτό έχει με ενοχλεί για τους πέρασαν λίγες ώρες τώρα.
Έχω ένα πίνακα. Μέσα σε αυτό το τραπέζι Ψάχνω για το πιο κοντινό, προηγούμενη σειρά πίνακα με ένα συγκεκριμένο χαρακτηριστικό των δεδομένων. Κάνω αυτή την αναζήτηση αμέσως μετά από μια επιτυχημένη χρήση jquery δυνατότητα ταξινόμησης. Έχω δοκιμάσει σχεδόν τα πάντα και έρχεται πάντα με το λάθος πράγμα.
Εδώ είναι αυτό που είμαι με τη χρήση
var newIndex = ui.item.index();
var menuLevel = parseInt($(#menu-table).find([data-menu-nesting=' + newIndex + ']).attr(data-menu-level));
var menuId = $(#menu-table).find([data-menu-nesting=' + newIndex + ']).attr(data-menu-id);
if (menuLevel == 2) {
var findAboveRowName = $(.menu-table-rows[data-menu-nesting=' + newIndex + ']).prev(.menu-table-rows).data(menu-level,1).attr(data-menu-name);
alert(findAboveRowName);
}
if (menuLevel == 3) {
var findAboveRowName = $(.menu-table-rows[data-menu-nesting=' + newIndex + ']).prev(.menu-table-rows).data(menu-level,2).attr(data-menu-name);
alert(findAboveRowName);
}
Ουσιαστικά, η μεταβλητή «newIndex» υποτίθεται για να αρπάξει τη νέα θέση της γραμμής μετά την ταξινόμηση, menuLevel υποτίθεται για να αρπάξει την χαρακτηριστικού «μενού επιπέδου» της σειράς πίνακα, και menuId είναι αρπάζοντας ένα άλλο χαρακτηριστικό δεδομένα του εν λόγω πίνακα γραμμή .
Είναι ειδικά ψάχνει για το πλησιέστερο, προηγούμενο χαρακτηριστικό μενού επιπέδου στις γραμμές του πίνακα. Έτσι, αν μια σειρά πίνακα με ένα χαρακτηριστικό μενού επιπέδου 2 κινείται, αυτό είναι που αναζητούν το πλησιέστερο πίνακα γραμμή με ένα χαρακτηριστικό μενού επιπέδου 1.
Η δυνατότητα ταξινόμησης σενάριο πλήρους jquery Είμαι χρησιμοποιώντας αν χρειαστεί
$(#sortable).sortable({
update: function(event, ui) {
var serial = $('#sortable').sortable('serialize');
var newIndex = ui.item.index();
var menuLevel = parseInt($(#menu-table).find([data-menu-nesting=' + newIndex + ']).attr(data-menu-level));
var menuId = $(#menu-table).find([data-menu-nesting=' + newIndex + ']).attr(data-menu-id);
if (menuLevel == 2) {
var findAboveRowName = $(.menu-table-rows[data-menu-nesting=' + newIndex + ']).prev(.menu-table-rows).data(menu-level,1).attr(data-menu-name);
alert(findAboveRowName);
// $.post(./menu-controller.php, { adjustParent: true, id: menuId, parent: findAboveRowName });
}
if (menuLevel == 3) {
var findAboveRowName = $(.menu-table-rows[data-menu-nesting=' + newIndex + ']).prev(.menu-table-rows).data(menu-level,2).attr(data-menu-name);
alert(findAboveRowName);
// $.post(./menu-controller.php, { adjustParent: true, id: menuId, parent: findAboveRowName });
}
$.ajax({
url: ./menu-controller.php,
type: post,
data: serial,
success: function() {
$(#sortable).load(./menu-manager.php #menu-table, function() {
$.get('./menu-admin.js');
});
},
error: function(){
alert(A problem occurred when moving this menu item. Please try again or contact support.);
}
});
},
handle:'.move-item',
connectWith:'#menu-table',
placeholder: highlight,
containment: parent,
revert: true,
tolerance: pointer,
items: 'tbody > *'
});