0

接続されたソータブルの項目プロパティに問題があります。私がやろうとしているのは、渡された CSS セレクターを使用してアイテムのドラッグを無効にすることです (:not オプションを使用):

.sortable({
    items: ":not(.disabledItem)"
});

ただし、次の場合はいつでも正常に動作します。

  1. アイテムから「disabledItem」クラスを削除
  2. ドラッグしてください(ドラッグしなくてもすべてうまくいきます)
  3. 「disabledItem」クラスを再適用する

「disabledItem」クラスがアタッチされていても、再び無効になることはありません。

JsFiddle の例: http://jsfiddle.net/LZsT6/

4

1 に答える 1

0

ひやここで作業デモに行きます: http://jsfiddle.net/tBKP6/1/

ドキュメントで詳細を読むことができますhttp://jqueryui.com/demos/sortable/items.html && そして答えを受け入れることを忘れないでください:)

jQuery セレクターを items オプションに渡すことで、並べ替えの対象となるアイテムを指定します。このオプションから除外されたアイテムはソート可能ではなく、ソート可能なアイテムの有効なターゲットでもありません。

特定のアイテムの並べ替えのみを防止するには、jQuery セレクターを cancel オプションに渡します。キャンセルされたアイテムは、他のアイテムの有効な並べ替え対象のままです。

Jクエリコード

$('.list')
    .sortable({
        connectWith: ".list",
        //items: ":not(.disabledItem)"
        cancel: ".disabledItem"
    });

$('#enableItem').click(function(){
    $("#itemToDisable").removeClass('disabledItem');        
    //$("li[value='it']").removeClass('disabledItem');
});

$('#disableItem').click(function(){
    $("#itemToDisable").addClass('disabledItem');        
    //$("li[value='it']").removeClass('disabledItem');
});

</p>

于 2012-04-06T11:01:26.797 に答える