2009-12-11 70 views
1

鑑於以下結構,可以將包含可排序列表的div分類嗎?我問,因爲最新的jQuery 1.3版本,它不會允許排序的div。 jQuery有什麼限制,它不能對包含已排序列表的父元素進行排序,還是因爲父元素是div而不是LI元素?任何想法的人?jquery sortable items question

<div class="row"> 
<ul class="sortable"> 
<li>test1</li> 
<li>test2</li> 
</ul> 
</div> 
<div class="row"> 
<ul class="sortable"> 
<li>test1</li> 
<li>test2</li> 
</ul> 
</div> 
<div class="row"> 
<ul class="sortable"> 
<li>test1</li> 
<li>test2</li> 
</ul> 
</div> 
+0

請澄清你的所有版本號......我認爲你有一個錯字。最新的jq是1.3.x,UI是1.7 ...是你的版本#用於不同的sortabel插件,或者是來自UI和哪個版本的UI和JQ的版本。 – prodigitalson 2009-12-11 22:12:03

+0

感謝您的注意。糾正。我使用隨UI一起下載的可排序插件。 – IEnumerator 2009-12-11 23:21:09

+0

你用什麼代碼來嘗試對它們進行排序? '$('div.row')。sortable()'? – 2009-12-11 23:46:36

回答

2

我想有一個誤區

這個命令在你的div排序

$('div.row').sortable() 

將實際上使ul秒。這是沒有意義的,因爲每個div中只有一個ul,排序單個元素沒有意義。 (演示頁:http://jsbin.com/ayiwu


如果你想在div S(不是ul S或li S)進行排序,你可以使用此行

$("div.row").wrapAll("<div></div>").eq(0).parent().sortable(); 

現在div的本身排序(演示頁:http://jsbin.com/upixa


如果你想在div S和* * li ** S(不是ul S的沒有意義時,有每div只有一個ul)在同一時間可排序

$("div.row").wrapAll("<div></div>").eq(0).parent().sortable(); 
$("div.row").sortable({ items: "li" }); 

演示頁:http://jsbin.com/ujatu

如果你想其他內容請發表評論

PS:抱歉在演示頁面上出現可怕的CSS。爲了清楚起見,你可以看到你點擊了哪個元素

+0

ahhhh - 你freakin'搖滾!它工作完美! – IEnumerator 2009-12-14 14:49:46

+0

我怎麼能給你買咖啡? – IEnumerator 2009-12-14 14:55:31