2012-01-12 12 views
1

のHy、jqueryの検索のdivのID

私は、このjqueryのコードを持って、どのようなことがないこと、(AJAX経由)データベースで、データベース内のdivの位置を保存 が、私は取得する方法を知っている `tをされますドロップイベントでドラッグされたdivのID

$().ready(function() { 
    $('.dragDiv').Drags({ 
     handler: '.handler', 
     onMove: function (e) { 
      //$('.content').html('Div Position:(Left:' + e.pageX + ' ,Top:' + e.pageY + ')'); 
      //$('.content').html(done); 
     }, 
     onDrop: function (e) { 
      //$('.content').html('dropped!' + e.pageX); 
      $.ajax({ 
       url: 'includes/scripts/data.php', 
       data: "top=" + e.pageX + "&left=" + e.pageY + "" 
      }); 
     } 
    }); 
    $('.dragDiv2').Drags({ 
     handler: '.handler2', 
     zIndex: 200, 
     opacity: .9 
    }); 
}); 
+4

'Drags'何ですか?なぜjQuery UIを使用しないのですか? – SLaks

+0

'Drags'プラグインへのリンクを投稿できますか? @SLaksのように、[jQuery UI draggable](http://jqueryui.com/demos/draggable/)を試してください。 –

答えて

2

使用を書くことができますを意味します:あなたはこれを試してみたい場合は、IDを取得しようとすることができ

$('.dragDiv').attr("id"); 

EDIT

onDrag関数を使用して:

var id = $(this).attr('id'); 

これがdivの正しいIDであることを確認します。正しい場合は、これが推奨される方法です。


EDIT 良い点 'シャドウウィザード'

var id = this.id; 

EDIT

以前のすべてのメソッドが失敗した場合は、jQueryのイベントターゲットを使用します。

var $target = $(e.target); 
var id = null; 
if($target.hasClass('dragDiv')) { 
    id = $target[0].id; 
} else { 
    id = $target.parents('.dragDiv').first()[0].id; 
} 

これはあなたのonDragメソッドに入るはずです。私はこの.Drags()プラグインを知らないが、論理的にそのイベントハンドラ内this.idを使用することは十分なはずです

+0

は、最初の*** '.dragDiv'要素のidを返します。 –

+0

私は通常onDragに' $(this).attr( 'id') 'を推奨しますが、私はよく分かりませんここでDragフレームワークを使用しています... onDragの 'this'ポインタが正しく設定されているかどうかを知る方法はありません。 – Skyrim

+0

私の主張は、このコード(*は 'class'によって' id' *を見つけるために一般的に選択します)は、そのクラスのDOM内の一意の要素に対してのみ働くことです。 –

1

「this」というキーワードを使用すると、ドラッグされているオブジェクトを取得できます。

だからそれはあなたがこの$(this).attr("id")

+2

'this.id'で十分です - jQueryオブジェクトとしてラップする必要はありません。 –

+0

もし私がこれを使うなら、私には定義されていないと伝えます – user1069937

+0

ドラッグjqueryは分かりませんが、あなたの関数に渡される変数からidを得ることができますか?ブラウザでこの要素を調べる必要があります。 – JoJa

0

..

+0

もし私がこれを使用するなら、それは私には何も言わない – user1069937