Как запустить прием метода сортировки - PullRequest
0 голосов
/ 23 июля 2011

В этом стандартном примере http://jqueryui.com/demos/sortable/#connect-lists-through-tabs

<script>
$(function() {
    $( "#sortable1, #sortable2" ).sortable().disableSelection();

    var $tabs = $( "#tabs" ).tabs();

    var $tab_items = $( "ul:first li", $tabs ).droppable({
        accept: ".connectedSortable li",
        hoverClass: "ui-state-hover",
        drop: function( event, ui ) {
            var $item = $( this );
            var $list = $( $item.find( "a" ).attr( "href" ) )
                .find( ".connectedSortable" );

            ui.draggable.hide( "slow", function() {
                $tabs.tabs( "select", $tab_items.index( $item ) );
                $( this ).appendTo( $list ).show( "slow" );
            });
        }
    });
});
</script>

Когда вы добавляете в первый список, как запустить метод приема, я добавляю в базу данных и удаляю при вашем движении назад

1 Ответ

2 голосов
/ 23 июля 2011

Это зависит от того, в каком коде находится ваш бэкэнд. Например, если вы используете php, вы можете использовать jQuery для вызова AJAX:

jQuery(document).ready(function ($) {
 $( "#sortable1, #sortable2" ).sortable().disableSelection();

var $tabs = $( "#tabs" ).tabs();

var $tab_items = $( "ul:first li", $tabs ).droppable({
    accept: ".connectedSortable li",
    hoverClass: "ui-state-hover",
    drop: function( event, ui ) {
        var $item = $( this );
        var $list = $( $item.find( "a" ).attr( "href" ) )
            .find( ".connectedSortable" );

    /* Then over here, you can make your AJAX post to your .php file */
       $.ajax({
         type: "POST",
         url: "saveorder.php",
         data: "list=" + list
       });

        ui.draggable.hide( "slow", function() {
            $tabs.tabs( "select", $tab_items.index( $item ) );
            $( this ).appendTo( $list ).show( "slow" );
        });
    }
 });
});

Затем, если ваш файл PHP, вы положили что-то вроде этого:

<?php if (isset($_POST['list'])) {
    $list_order = $_POST['list']; // Clean the data first though.
    mysql_query("INSERT INTO list_order (order) VALUES ('$list_order')");
} ?>

Нечто подобное. Надеюсь, это поможет:)

...