jQuery可排序列表 - 禁用第一个元素

时间:2012-11-07 18:17:19

标签: jquery jquery-ui-sortable

我有一个可排序的列表,但我想禁用第一项,以便无法移动输入字段。

以下是清单:

<ul id="sortable" class="connectedSortable">
    <input name="name1" class="inputfield" type="text" maxlength="30">
    <li>first sort item</li>
    <li>second sort item</li>
</ul>

和js:

$("#sortable:not(:first-child)").sortable({
            connectWith : ".connectedSortable"
        });

我尝试用以下方法解决这个问题:不是(:first-child)但它不起作用...... 有人知道怎么做吗?

谢谢!

3 个答案:

答案 0 :(得分:4)

这个怎么样?

$( "#sortable" ).sortable({
    items: '> li'   
});

Demo

答案 1 :(得分:1)

如果您修改HTML以便将输入正确地包装在列表项中,那么您可以尝试使用sortables的items option

$("#sortable").sortable({
    items: "> li:gt(0)", 
    connectWith: ".connectedSortable"
});​

<强> jsFiddle example

答案 2 :(得分:1)

您的HTML无效,因为您的<ul>内的HTML不在<li>内。

var _input = $("#sortable :first-child");

$('#sortable').before(_input); // move it outside of the UL
$('#sortable').sortable();

http://jsfiddle.net/nF7yW/