2013-06-27 11 views
6

私はknockout.jsソート可能なプラグインを使用しています。しかし、私はこれまで解決できなかった問題に遭遇しました。バケット用とバケット用の2つのソート可能なバインディングがあります。私はバケツの間でbucketItemsを並べ替えることができます。しかし、私はバケツを並べ替えることができません。あなたはこれがなぜなのか考えていらっしゃいますか?私もバインディングをネストして使用していますが、私が知る限り、これは問題を引き起こすものではありません。Knockout.jsネストされたソート可能なバインディング

私はあなたが提供しなければならない洞察力を非常に感謝します。

+0

あなたを投稿してくださいコードとあなたが使用しているプラ​​グインは、特定の理由のために –

+0

、私は私のコードを投稿することはできません;しかし、私は自分の問題の範囲を絞り込むことができました。私はbucketIdsの配列を持っており、ソート可能にすると正しくバインドされません。残念ながら、私はまだそれが縛られない理由を知らない。 (私はknockout.js-sortableプラグインをryan neimeyerが作成して使用しています) – user2391998

答えて

8

正確な構造はわかりませんが、connectClassオプションを使用すると、接続可能な並べ替え可能リストを制御できます。あなたはこれをしなかった場合たとえば、:

<ul data-bind="sortable: { data: buckets, connectClass: 'buckets' }"> 
    <li> 
     <span data-bind="text: name"></span> 
     <ul data-bind="sortable: { data: items, connectClass: 'items' }"> 
      <li data-bind="text: name"></li> 
     </ul> 
    </li> 
</ul> 

あなただけのバケット内のバケット項目内のアイテムをドロップすることができるだろう。プラグインは自動的にクラスを親要素に追加します。ここで

はサンプルです:http://jsfiddle.net/rniemeyer/YaLgL/

あなたは、あなたがそれぞれのようにユニークなconnectClassを適用することができ、バケットの間でアイテムを並べ替えることができるようにしたいしなかった場合:

http://jsfiddle.net/rniemeyer/czNe8/

+0

アイテムをソート可能にしたくないのに、他のアイテムをソートしたくない場合はどうしたらうまくいくのですか?私は、このアイテムを再注文することはできませんでしたが、試してみると親のUL全体が移動し、順番にULの親LIが並べ替えられました。 – Phil

+0

@ Phil-あなたはおそらくjsFiddleにしようとしていることをいくつかのノートに入れてもいいですか?それを有効にする方法はありますが、私はあなたのシナリオの上にいることが肯定的ではありません。ありがとう! –

+0

私はフィドルを追加しました:http://jsfiddle.net/zoldello/8hvXN/2/ 何が起こっているのは、NOT MOVABLEアイテムを移動しようとすると、アイテム全体が選択されているということです。 NOT MOVABLEにマウスを押して、コンテナ全体が動いていることを確認してください。この問題を止める方法はありますか? – Phil

関連する問題