0

receiveイベントのjQuery-UIソート可能リストからアイテムを削除したい。私はこれを試しています:

receive: function(event, ui){
    num_of_items = num_of_items+1;                          


    if(num_of_items >= 3)
    {
        ui.item.remove();
        num_of_items = num_of_items -1;
    }
}

これにより、エラーが発生します。

Uncaught TypeError:未定義のプロパティ'options'を読み取ることができません

item.remove()は、beforeStop、stopなどの他のイベントで正常に機能するようです。

4

1 に答える 1

1

受信コールバックでアイテムを削除することは、他のコールバックに使用できるため、お勧めできません。しかし、これ以上ソートできないようにすることはできます。これが私のアドバイスです:

  • params項目でソート可能を初期化します
  • receive コールバックで、params アイテムに使用したクラスを削除して、並べ替えができないようにします。
  • この時点では、並べ替え可能な要素でrefreshを呼び出すことをお勧めします (必要ではないかもしれません)。その要素にクラスを追加して、セレクターで簡単に見つけて非表示にします(jQueryでも)
  • 次に、アイテムの削除を簡単に安全に延期し、停止または beforeStop コールバックでクリーンアップに呼び出すことができます

それがあなたに合うことを願っています!

于 2012-12-08T23:25:30.850 に答える