jquery sortable删除其他元素

时间:2014-04-16 05:44:04

标签: javascript jquery jquery-ui

我尝试在我们的项目上实现jquery sortable如果完成排序,应该对项目进行重新索引,请参考下面的代码:

 $("#data_field_table tbody").sortable({
            stop:updateRow
        }).disableSelection();

    var updateRow = function(e,ui){
        $('td.index',ui.item.parent()).each(function(i){
            var newIndex = i +1;
            $(this).html(newIndex);
        });

重新编制项目的索引是正常的但是在进程之后删除排序行上的隐藏输入我不确定它是否是由jquery排序引起的,请参考下面的代码:

<td class="index">${data.groupOrder}<input class="hiddenValue" type="hidden" name="fgDataFields[${info.index}].groupOrder" id="go${info.index}" value="${data.groupOrder}"/>
                    </td>

1 个答案:

答案 0 :(得分:0)

您在updateRow函数末尾缺少}

尝试:

var updateRow = function(e,ui){
    $('td.index',ui.item.parent()).each(function(i){
        var newIndex = i +1;
        $(this).html(newIndex);
    })};

编辑:

重新阅读您的问题并意识到这不是问题所在。我现在明白重新索引正在运行,但隐藏的输入已被删除。

要解决此问题,您必须保存输入并在重新编制索引后将ID重新添加到项目中。

这样的事情:

var updateRow = function(e,ui){
$('td.index',ui.item.parent()).each(function(i){
    var newIndex = i +1;

    var input = $(this).find('input');

    $(this).html(newIndex);
    $(this).append(input)
})};