如何使用jQuery UI(可排序)交换ID?

时间:2013-05-23 15:04:37

标签: jquery jquery-ui jquery-ui-sortable

根据我的理解,当您使用jQuery Sortable时,实际的列表项( li )会在HTML代码中重新排列。我想做的是创建排序的错觉,但只是移动图像名称(也许这可能需要交换ID)。我已经设置了一个小提琴来说明我的例子(在这个例子中,列表项是可排序的,但ID和选定的项目随附它,我希望这些可以保留它们的顺序):

  
    

JS小提琴: http://jsfiddle.net/7QFB7/

  

将所有内容保持在同一顺序,减去图像名称的最佳方法是什么?我需要列表项的ID和更改的选择框以及输入的名称,这样即使它们被重新排列,技术上移动的唯一项目也是图像名称。所以最终的结果可能是这样的:

    <li id="thumb-1"><select id="image1"></select><input name="image1_path" value="imagename3.jpg"></li>

请注意,在上面的代码行中,所有名称和id都有1,但图像名称为3.这就是我想要实现的目标。

谢谢。

1 个答案:

答案 0 :(得分:2)

可以这样做:

DEMO

stop: function (event, ui) {
        ui.item.removeClass('dragging');
        $(this).find('li').each(function(i){
            var index = i+1,
                select =  $(this).find('select')[0];
           select.id = "image"+index;
            select.value = index;
        });
    }