2012-02-17 13 views
1

JQueryUIのドラッグ可能なオブジェクトのX、Y座標をドロップすると、それらをAJAXを使用して何か(Javaサーブレット)にPOSTするにはどうすればよいですか?Jqueryのドラッグ可能な位置を格納する

私はデータベースにその場所を格納しようとしていますが、イブはそれを行うハンドラを持っています。私は大丈夫バックエンドの人ですが、私はJavaScriptを吸っています!

+0

要素をドラッグすると、その左上の位置が更新されます。それはあなたが必要とするものですか? – DG3

答えて

3

これを停止した後、あなたがオブジェクトの上部と左の位置を取得することができますだけでAJAXがあるかもしれないあなたを呼び出すことを含んでいます使用することができます。

$(".draggable").draggable({ 
    stop: function(event, ui) { 
     var x = ui.position.left; 
     var y = ui.position.top; 

     $.post("servlet", { 
      x: x, 
      y: y 
     }.success(function() { 
      console.log(event+" "+ui+" "+ui.position); 
     }.error(function() { 
      console.log("FAILED: "+event+" "+ui+" "+ui.position); 
     }); 
    } 
}); 
+0

優秀!すごく感謝しています –

0

イベントのjQuery ui draggableメソッドのドキュメントを見ると、stopメソッドが表示されます。このメソッドでは、ドラッグ可能な要素axisオプションを見てから、データベースを更新するためにajaxを呼び出します。

$(".selector").draggable({ 
    stop: function(event, ui) { 
     //edit for my mistake 
     //var axis = $(".selector").draggable("option", "axis"); 
     var axis = ui.position; 
    } 
}); 
+0

axisオプションがtrueに設定されている場合、ドラッグをx軸またはy軸のいずれかに制限します。上記のコードはfalseを返します。 – DG3

+1

それは私のばかげたことです。現在のポジションを得るためのポジションです。 – xanderer

1

これは役立ちますか?あなたはui.positionから

$(document).ready(function(){ 

$("#drag_area").draggable({ 
    stop: function(event, ui){ 
     console.log(event); 
     console.log(ui); 
     console.log(ui.position); 
     var left = ui.position.left; 
     var top = ui.position.top; 
    } 
}); 
}); 

コールバック関数の引数から必要なデータを取得することができますドラッグを

+0

乾杯は私が望んだthats –

関連する問題