2011-12-17 12 views
0

ここでは取引があります。私はコンテナの中にいくつかのピースを持っていて、あるコンテナから別のコンテナに(ビュー側から)ピースをドラッグ&ドロップできるようにしたいのですが、私のモデルを更新するにはターゲット(つまりピースを落としたコンテナ)ドロップ可能なターゲットから.dataを取得する方法

ここに私の問題を示す短いjsfiddleがあります:container piece fiddle。 たとえば、下部のピースを中央のコンテナに引き出します。私は期待する

2 
1 

しかし、代わりに2 2を得た。さらに私はターゲットがドロップターゲット(この場合はコンテナ)と一致すると予想しました。

注:これはjQuery 1.6.4で動作するために使用されましたが、1.7に移動した後は動作を停止しました。

答えて

0

とにかく私は自分自身を考え出しました。それは以前のバージョンで$(this)としてjQuery 1.7.1がドラッグされたパラメータを正しく扱うので、ui.draggable.data("p_pos")からthis.draggable.data("c_pos")に変更する必要がありました。私はui.draggableを介してそのパラメータを取得しました。

これは新しいフィドルです:正しく動作するhttp://jsfiddle.net/rtxRa/22/です。

1

あなたはここで何をしたいですか? http://jqueryui.com/demos/sortable/をお探しですか?

$(document).ready(function(){の外にも機能を移動する必要があります。ページを読み込んだ後に読み込む理由はありません。

ええと、posdropに設定していない可能性があります。それは単に更新されませんか?

  drop: function(ev, ui){ 
      var pos = $(ev.target).data('p_pos'); 
      var oldpos = ui.draggable.data('p_pos');  
      console.debug(pos); 
      console.debug(oldpos); 
      console.debug($(ev.target)); 
     } 
+0

これは私が探していた解決策ではありません。私が '$(document).ready(function(){'それらをバインドする要素はまだ存在しないので、何もしません)私の問題は、私が 'c_pos'を得ることができないということです –

+0

実際に達成したいのは正確に何ですか?私は2つの要素が上にくることはできないと仮定します。お互いに? – Richard

+0

私はドラッグ可能な '.piece'を残しておきます。 –

関連する問題