2012-06-22 32 views
1

我以爲我會把工作解決方案放在這裏給其他代碼示例感興趣的人。如何添加一個id變量到一個jQuery可拖動項目?

每個可拖動項目都將其id設置爲項目ID。這是一個可拖動項目的源代碼視圖:

<div id="item"> 
    <ul> 
     <li class="list_none" id="15"> 
       Black phone 
     </li> 
    </ul> 
</div> 

這裏的jQuery腳本使得它拖動。「我已經更新,以反映dmck輸入:

$("#item li").each(function(index, value) { 
    $this = $(value); 
    var drag_id = $this.attr("id"); 
    $this.draggable({ 
      appendTo: "body", 
      helper: "clone" 
    }).data("drag_id", drag_id) 
}); 

薪火drag_id值可放開是一個問題,但現在的工作。

$("#group ul").droppable({ 
    activeClass: "ui-state-default", 
    hoverClass: "ui-state-hover", 
    accept: ":not(.ui-sortable-helper)", 
    drop: function(event, ui) { 
     // alert(ui.draggable.data("drag_id")); // left this alert in for other tinkerers 
     $('input[name=user_id]').val(ui.draggable.data("drag_id")); 
     $(this).closest('form').submit(); 
     return false; 
     $("<li></li>").text(ui.draggable.text()).appendTo(this); 
    } 

謝謝。

+0

BTW:HTML規範要求ID屬性不以數字開頭。 –

+0

@Diodeus,請參閱http://www.w3.org/TR/html5/global-attributes.html#the-id-attribute。我通常不會根據ID來設計項目,所以我應該沒問題。 – Jay

回答

4

使用jQuery的每一個的每個元素綁定:

$("#item li").each(function(index, value) { 

    $this = $(value); 

    var itemid = $this.attr("id"); 

    $this.draggable({ 
      appendTo: "body", 
      helper: "clone" 
    }).data("itemid", itemid) 
}); 
+0

+1獲得有價值的幫助。我無法將變量從draggable傳遞到droppable。將更新問題。 – Jay

相關問題