2011-03-23 26 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