2009-12-11 68 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