• 締切済み

jquery sortableについて

2つのsortable要素があり、リスト1の特定の要素のみリスト2に移動できるようにできないでしょうか? 下記のlist1のアイテム2のみlist2へ移動でき、アイテム1・アイテム3はlist1内でソートのみ。 <ul id="list1"> <li>アイテム1</li> <li>アイテム2</li> <li>アイテム3</li> </ul> <ul id="list2"> <li>アイテム4</li> <li>アイテム5</li> <li>アイテム6</li> </ul> $("#list1").sorable(); $("#list2").sorable();

みんなの回答

  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.3

$("#list1, #list2").sorable({ items:":not(.disable)", connectWith:".sort" }); connectWith:".sort"のsortにドットを付けるのを忘れてました。 しかし、この方法だとアイテム2を動かすと1と3の間には 挿入することができなくなりますね。 1の前に挿入することもできませんね。

bgbwq712
質問者

お礼

ご回答ありがとうございます! そうですね、そこができる方法を知りたいです。 draggableを利用してどうにかできないものですかね。

  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.2

<ul id="list1" class="sort"> <li class="disable">アイテム1</li> <li>アイテム2</li> <li class="disable">アイテム3</li> </ul> <ul id="list2" class="sort"> <li>アイテム4</li> <li>アイテム5</li> <li>アイテム6</li> </ul> $("#list1, #list2").sorable({ items:":not(.disable)", connectWith:"sort" }); 試してませんがこんな感じかと思います。

bgbwq712
質問者

補足

回答して頂いた内容ですが以前の内容と同様で「アイテム2」をリスト2へ移動する事はできますが、リスト1内で「アイテム1、アイテム2、アイテム3」の並び替えができない状況です。

  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.1

itemsオプションで対象のものだけを指定出来ます。 connectWithオプションで複数のリストにまたがってドラッグできます。 クラスを追加するなりすれば良いかと思います。 http://log.noiretaya.com/186 http://alphasis.info/2011/06/jquery-ui-sortable-connectwith/

bgbwq712
質問者

補足

間違っていたらすみません、回答して頂いた内容ですが「アイテム2」をリスト2へ移動する事はできますが、リスト1内で「アイテム1、アイテム2、アイテム3」の並び替えができなくなりました。オプションの付け方などで実装できるものでしょうか? <ul id="list1"> <li>アイテム1</li> <li class="sortable-item">アイテム2</li> <li>アイテム3</li> </ul> <ul id="list2"> <li>アイテム4</li> <li>アイテム5</li> <li>アイテム6</li> </ul> $("#list1").sortable({ items: '.sortable-item', connectWith: '#list2' }); $("#list2").sortable({ });

関連するQ&A