0

todo アイテム カテゴリのリストがあり、各カテゴリには todo のリストが含まれます。カテゴリ内の todo で「Sortables」を使用して、カテゴリ内の todo の順序を並べ替えました。

ここで、ユーザーがカテゴリ全体を並べ替えることができるように、並べ替え可能なものをカテゴリにも追加したいと考えています。私はこのようなDOMを持っています

    <ul id="ToDos">
      <li id="Cat-1"> 
          <ul class='collecton'> 
            <li class='todoItem'></li>
            <li class='todoItem'></li>
            <li class='todoItem'></li>
          </ul>
      </li>
      <li id="Cat-2"> 
          <ul class='collecton'> 
            <li class='todoItem'></li>
            <li class='todoItem'></li>
            <li class='todoItem'></li>
          </ul>
      </li>
      <li id="Cat-3"> 
          <ul class='collecton'> 
            <li class='todoItem'></li>
            <li class='todoItem'></li>
            <li class='todoItem'></li>
          </ul>
      </li>
      <li id="Cat-4"> 
          <ul class='collecton'> 
            <li class='todoItem'></li>
            <li class='todoItem'></li>
            <li class='todoItem'></li>
          </ul>
      </li>
    </ul>

私はこれを使ってこれらにソート可能を与えました

    $('.collection').sortable();
    $('#ToDos').sortable({grid: [100, 50]});

問題は、「#ToDos」にソート可能がない場合、「#collection」のソート (つまり、各カテゴリ内の todoItems のソート) が非常にうまく機能することです。「#ToDos」にソート可能を指定すると、各カテゴリのソートは機能しますが、カテゴリ内の todoItem をソートするときにもカテゴリのソートが行われます。つまり、カテゴリ内の todoItem がソートされているときに、カテゴリの順序も変更されます。

これを解決するのを手伝ってください..

前もって感謝します

4

1 に答える 1

0

jquery sortable の item オプションを使用して、ソート可能にする要素を指定します

http://api.jqueryui.com/sortable/#option-items

あなたの場合、

$('#collection').sortable(
    items: "> li"
);

お役に立てれば

これを見てください。

http://api.jquery.com/event.stopPropagation/

todoItem のドラッグを開始すると、イベントが親にバブル アップし、カテゴリも並べ替え可能であるため、ドラッグも開始されます。

このようなことを試してみてください。

$('.collection li').sortable({
    start: function(event, ui){
        event.stopPropagation();
    }
});
于 2013-01-12T06:36:01.023 に答える