2012-05-10 9 views
0

jquery sortableを使って、ドラッグして並べ替えることのできる整列した項目のリストを持っています。ユーザーがドラッグアンドドロップすると、ソート可能な関数が実行され、すべてが更新され、0から9までの順に並べ替えられます。すべてのページの読み込み時にjqueryソート可能ですか?

ただし、リストに項目を挿入または削除する機能があります。削除が発生した場合、順序にギャップがあります(0-1-2-3-4 - 6-7-8)。アイテムを追加するときは、リストアイテムがカウントされ、1が追加されてランクとして設定され、リストの一番下に挿入されます。順序は0から始まるので、最後の桁もスキップします。 (7,8,10)

しかし、ユーザーがアイテムをドラッグアンドドロップすると、リスト全体が適切な順序に並べ替えられ、すべて正常です。しかし、それまでは、注文はうまくいっていません。

私はアイテムを移動することなくjqueryのソート可能な更新を実行する方法があるのだろうかと思いました。それは更新を実行しますが、あなたがすべてを同じ場所に置いたように、それは私の注文問題を解決するでしょう。ユーザーが単に行を追加したり、行を削除したりすると、関数が実行され、順序が適切に設定されるように設定します。

+0

私はjQueryのソート可能なので、私は答えとしてこれを置く習慣が使用されていないが、私はただのドキュメントで見ていたし、私が呼び出すことによって、あなたがやりたいことができると思います ' .sortable( "refresh") '。 [ドキュメントを参照してください](http://jqueryui.com/demos/sortable/#method-refresh) – AndrewR

答えて

0

ソート可能なリストの外で変更が行われるたびに、ソート可能なものをリフレッシュするだけでいいと思います。

.sortable("refresh")

http://docs.jquery.com/UI/Sortable#method-refresh

+0

私はあまりにも思ったことです。それは動作していないようです。これは私の現在のものです... '$( '#test-list')。sortable( 'refresh'); $( "#info")。load( "process-sortable.php?" + order); ' – patricko

+0

あなたはリストに項目を追加する方法を詳しく調べることができます。クエリ文字列からアイテムを取得しているようですか? – ephemeron

関連する問題