2

Jquery UI からソート可能を使用しています。resultPos から値を取得するたびに、最後の手が表示されますが、最後の順序は覚えています。リセットする必要があります。

たとえば、次の 3 つの要素があります。

Move 3rd element to 2nd position: end=1&end=3&end=2
Again ...
Move 3rd element to 2nd position: end=1&end=2&end=3
Again ...
Move 3rd element to 2nd position: end=1&end=3&end=2

次のように返されるものが必要です。

Move 3rd element to 2nd position: end=1&end=3&end=2
Again ...
Move 3rd element to 2nd position: end=1&end=3&end=2
Again ...
Move 3rd element to 2nd position: end=1&end=3&end=2

これは私のコードです:

$( ".sortableChip" ).sortable({
        revert: true,
        containment: "#carousel",
        axis: "x",
        items: 'li.edited',
        tolerance: 'pointer',
        placeholder: 'draggin-space',
        start: function(event, ui) { 
             var startPos = $('.sortableChip').sortable('serialize',{ key: 'start'});
        },
        sort: function(event, ui) {
            ui.item.addClass('draggin');
            $('.remove-chart').hide();
        },
        update: function(event, ui) {
            var resultPos = $('.sortableChip').sortable('serialize',{ key: 'end'});
            ui.item.removeClass('draggin');
        }
    });
4

1 に答える 1

3

jquery UI のソート可能なすべての項目は LI です。いくつかの方法があります。1 つの方法は、ページが最初にロードされたときにソート可能なリストの内容を持つ変数を保存することです。ul タグ内の li タグの順序を並べ替えるだけです。

<script type="text/javascript">

    $(document).ready(function(){


         $('#link').click(function(){

            //this will empty out the contents of the ul
            $('.sortableChip').html('');
            /*this will replace the contents of the ul with 
            contents that were caputred 
            */
            $('.sortableChip').html(reset);

        });

    });

    var reset = $('.sortableChip').html();
    /*this is here at the bottom because you want to everything that is created     
    dynamically with jquery or javascript to be captured also.
    */
</script>

基本的には、リンクがクリックされたら正しい設定を返すだけです。これで、実際にはこの行 `$('.sortableChip').html(''); は必要ありません。しかし、ここに置いたので、空になって交換されていることがわかります

クリックしたものに基づいて並べ替える必要がある場合は、必要な状態をリセットなどの変数として保存し、内容をクリアして、ユーザーがクリックしたものに基づいて変数をロードします

于 2012-05-24T20:11:00.177 に答える