2011-03-23 74 views
2

我做了一個可拖動的,可排序的div,我想要的是在拖動它後更改克隆ID,但我的腳本更改了原始和克隆的ID。我的代碼如下:更改幫手ID

var i = 0; 
    $('#colum').draggable({ 

          helper:'clone', 
          connectToSortable:'#sort', 
          start: function(event,ui) { 
          i++; 
          $(this).attr("id","colum"+i); 
          } 
          }); 
      $('#sort').sortable({ 
        connectWith: "#sort", 
        containment: "#sort" 
     )}; 
+0

我tryed ui.helper在'this'的地方,但我得到了相同的結果 – strawberry 2011-03-23 16:18:14

+0

任何想法?與ui.draggable太原始編號和克隆ID更改 – strawberry 2011-03-25 14:28:50

+0

是否有一個原因,你想改變克隆的ID? – JohnP 2011-04-01 11:22:31

回答

0

您可以通過訪問ui變量傳遞到start事件的排序幫手得到 - ui.helper

$('#sort').sortable({ 
    helper: 'clone', 
    start: function(event, ui) { 
     ui.helper.attr('id', 'mycustomid'); //ui.helper is a jquery object pointing to the helper 
    }, 
    connectWith: "#sort", 
    containment: "#sort" 
)}; 
+0

是的,它實際上改變了它,但只有當我拖放它時拖動它纔會返回到相同的ID – strawberry 2011-04-02 22:06:11

+0

@ user653826,這是因爲當拖動操作完成並且原始文件佔據它的位置時克隆被銷燬。如果你能告訴我爲什麼你想改變克隆ID,我可以給你一個更好的答案。 – JohnP 2011-04-03 03:42:28

+0

只是在我的應用程序中導致每個團體都必須提供他自己的ID,所以我可以在以後修改 – strawberry 2011-04-04 09:32:43