2014-05-22 77 views
0

我有以下代碼:Jquery的可排序找到可拖動和可投放標識

<ul class='sortableLI'> 
    <li id='1'>One</li> 
    <li id='2'>Two</li> 
    <li id='3'>Three</li> 
    <li id='4'>Four</li> 
    <li id='5'>Five</li> 
</ul> 

如果我拖動5(UP)和下降的B/W 2 & 3,所以我需要的3名和,如果我拖動2(DOWN )和降低黑色4 & 5所以我需要4的ID。

如何?

+0

我的意思是當我拖動從底部到頂部,所以我得到prev(),如果我從頂部拖到底部,所以我得到下一個()。我怎樣才能抓住方向? –

回答

0

更新了答案:

$(document).ready(function() { 
    $('.sortableLI').sortable({ 
     stop: function (event, ui) { 
      var newP = ui.position.top; 
      var oldP = ui.originalPosition.top; 
      if (newP > oldP) { 
       alert('moved down'); 
       var id = $(ui.item).prev('li').attr('id'); 
       alert(id); 

      } else { 
       alert('moved up'); 
       var id = $(ui.item).next('li').attr('id'); 
       alert(id); 
      } 
     } 
    }) 
}); 

HTML:

<ul class='sortableLI'> 
    <li id='1'>One</li> 
    <li id='2'>Two</li> 
    <li id='3'>Three</li> 
    <li id='4'>Four</li> 
    <li id='5'>Five</li> 
</ul> 

演示:http://jsfiddle.net/lotusgodkk/GCu2D/147/

你需要爲這個目的的jQuery prevnext功能。

+0

我的朋友,我認爲你不明白。我的意思是,當我拖動從底部到頂部,所以我得到prev(),如果我從頂部拖到底部,所以我得到下一個()。我怎樣才能抓住方向? –

+0

更新了答案。你想要嗎? –

+0

感謝兄弟,這是完美的代碼.... :) –