2011-07-13 79 views
2

我想知道剛剛移動的元素的新位置(div id)如何查找使用Jquery排序的元素的新div ID?

我該怎麼做?

http://jqueryui.com/demos/sortable/#empty-lists

<script> 
    $(function() { 

     $("#sortable").sortable({ 
    update: function(event, ui) { 
     alert("New position: " + ui.item.index()); 
    } 
}); 

     $("ul.droptrue").sortable({ 
      connectWith: "ul" 
     }); 

     $("ul.dropfalse").sortable({ 
      connectWith: "ul", 
      dropOnEmpty: false 
     }); 

     $("#sortable1, #sortable2, #sortable3").disableSelection(); 
    }); 
    </script> 


<ul id="sortable1" class='droptrue'> 
    <li class="ui-state-default">Can be dropped..</li> 
    <li class="ui-state-default">..on an empty list</li> 
    <li class="ui-state-default">Item 3</li> 
    <li class="ui-state-default">Item 4</li> 
    <li class="ui-state-default">Item 5</li> 
</ul> 

<ul id="sortable2" class='dropfalse'> 
    <li class="ui-state-highlight">Cannot be dropped..</li> 
    <li class="ui-state-highlight">..on an empty list</li> 
    <li class="ui-state-highlight">Item 3</li> 
    <li class="ui-state-highlight">Item 4</li> 
    <li class="ui-state-highlight">Item 5</li> 
</ul> 

<ul id="sortable3" class='droptrue'> 
</ul> 
+0

您的代碼就好了。我拼錯的東西(「#sortable」)。它應該是(「#sortable1」)我猜。 –

+0

我想知道你是如何接受與問題無關的答案的? –

回答

0

在你的回調,您可以使用event.pageXevent.pageY確定相對於頁面中的偏移量。

0

你的代碼完美地工作(見this fiddle)一旦你實際上在頁面是否存在一個元素上調用sortable()

$("#sortable2").sortable({ 
    update: function(event, ui) { 
     alert("New position: " + ui.item.index()); 
    } 
}); 
相關問題