2010-11-28 17 views
0

この問題の正しいセレクタ構文を理解するのに何らかの問題があり、助けていただければ幸いです。テーブル行のセルのjQueryドロップ可能セレクタ

私は5つの列を持つテーブルを持っています。各行には、各セルにMyClassというクラスのDIV要素があります。私はMyClassのオブジェクトをドラッグ可能に設定しましたが、今では適切なドロップターゲットを設定する必要があります。最初の列を除いてMyClassを持つ要素が存在しますが、要素が存在する行のみが存在します(上または下の行の列にドロップできないようにしてください)。

私はそれが理にかなっていると思います。誰でも、それに対して正しい構文が何であるか考えていますか?私が現在働いているのは以下の通りですが、上または下の行を削除することができるため、正しくはありません。

$(".MyClass").closest("tr").children(":not('.column-1')").droppable({ ... }); 

答えて

2

あなたはそれだけで、このように同じ行のもの<div>要素、受け付け.droppable()ためaccept optionに関数を渡すことができる:draggableはjQueryオブジェクトである機能で

$(".MyClass").closest("tr").children(":not('.column-1')").droppable({ 
    accept: function(draggable) { 
     return $.contains(this.parentNode, draggable[0]); 
    } 
}); 

をドラッグ可能な場合は$.contains()を使用して、.parentNode<tr>)にそのドラッグ可能な項目が含まれているかどうかを確認しています。つまり、ドロップしようとしている<div>がこの行から来たものです。

You can test it out here

+0

それは素晴らしいです。正確に私が必要としたもの。どうもありがとう。 –

関連する問題