2011-06-30 27 views

回答

0

我已經找到一種方法來做到這一點。

$updated = false; 
$('.sortable').sortable(
{ 
    connectWith: '.sortable', 
    stop: function() 
    { 
     if($updated) 
     { 
       alert('Updated!'); 
     } 
     $updated = false; 
    }, 
    update: function(e, ui) 
    { 
     $updated = true; 
    } 
}); 
0

看起來像一切正常:當你在單個UL裏面排序LI時,你會收到一個警報。但是如果將LI從一個UL移動到另一個UL,則會收到兩個警報,因爲每個排序都會更新。首先失去一個LI和第二接收它:http://jsfiddle.net/CoolEsh/Kuwzq/1/

如果您只需要在更新列表中的一個,然後下一步警報:

$(document).ready(function() 
{ 
    $('.sortable1').sortable(
    { 
     connectWith:'.sortable2' 
    }); 

    $('.sortable2').sortable(
    { 
     connectWith:'.sortable1', 
     update: function() 
     { 
       alert('sorted'); 
     } 
    }); 
}); 
<ul class='sortable1'> 
    <li>A</li> 
    <li>B</li> 
    <li>C</li> 
</ul> 
<ul class='sortable2'> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
</ul> 
+0

這是可以的,但如果我使用很多列表,我必須爲每個列表編寫重複代碼。 – Sureshkumar

+0

如果您將代碼保持「原樣」,則在可排序元素之間拖動元素時總是會收到2條警告:可排序的元素來自發生更改和可排序的元素來自要更改的元素。也許它更好地處理這兩個變化? – CoolEsh

相關問題