根据我的理解,当您使用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.这就是我想要实现的目标。
谢谢。
答案 0 :(得分:2)
可以这样做:
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;
});
}