Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取jquery-ui.sortable on stop()事件上下一行或上一行的属性值_Javascript_Jquery_Jquery Ui_Jquery Ui Sortable - Fatal编程技术网

Javascript 获取jquery-ui.sortable on stop()事件上下一行或上一行的属性值

Javascript 获取jquery-ui.sortable on stop()事件上下一行或上一行的属性值,javascript,jquery,jquery-ui,jquery-ui-sortable,Javascript,Jquery,Jquery Ui,Jquery Ui Sortable,我有一个gridview,并在其上实现了jquery.ui.sortable 我已成功为自定义属性“printorder”赋值,该属性用于列表中的顺序。我需要知道的是,在删除可排序项后,如何获取打印顺序的上一个或下一个属性值。以下是我到目前为止所做的工作,但它没有发挥应有的作用: $(function () { $("#ListItems tbody").sortable({ start: function (event, ui) { origin

我有一个gridview,并在其上实现了jquery.ui.sortable

我已成功为自定义属性“printorder”赋值,该属性用于列表中的顺序。我需要知道的是,在删除可排序项后,如何获取打印顺序的上一个或下一个属性值。以下是我到目前为止所做的工作,但它没有发挥应有的作用:

$(function () {
    $("#ListItems tbody").sortable({
        start: function (event, ui) {
            originalIndex = $("#ListItems tr.ListItem").index(ui.item);
            originalPrintOrder = $(ui.item).attr('printorder');
        },
        stop: function (event, ui) {
            endIndex = $("#gvInvItems tr.ListItem").index(ui.item);
            if (endIndex < originalIndex) {
                newPrintOrder = $(ui.item).prev().attr('printorder') + 1;
            }
            if (endIndex > originalIndex) {
                newPrintOrder = $(ui.item).next(1).attr('printorder') - 1;
            }
            if (originalIndex == endIndex) {
                return;
            }
            ChangeOrder(originalPrintOrder, newPrintOrder, $(ui.item).attr('ItemGUID'));
        },
        handle: ".dragHandle"
    });
    $("#ListItems tbody").sortable({
        items: 'tr.RowStyle, tr.AltRowStyle'
    });
});
$(函数(){
$(“#ListItems tbody”)。可排序({
开始:功能(事件、用户界面){
originalIndex=$(“#ListItems tr.ListItem”).index(ui.item);
originalPrintOrder=$(ui.item).attr('printorder');
},
停止:功能(事件、用户界面){
endIndex=$(“#gvms tr.ListItem”).index(ui.item);
if(endIndexoriginalIndex){
newPrintOrder=$(ui.item).next(1.attr('printorder')-1;
}
if(originalIndex==endIndex){
返回;
}
ChangeOrder(originalPrintOrder,newPrintOrder,$(ui.item).attr('ItemGUID');
},
手柄:“.dragHandle”
});
$(“#ListItems tbody”)。可排序({
项目:“tr.RowStyle,tr.AltRowStyle”
});
});
您可以查看。使用和jQuery和获取元素:


看来我的代码也能正常工作。问题是我在添加字符串,所以如果我移动了5行5,代码应该在前一行中添加1,所以应该是4+1=5。但是,由于我没有将其转换为int(Number()),所以它只是以字符串的形式相互追加,所以4+1=41


真的没有错。谢谢

不得不说,如果没有上一个(移动到第一个位置)或下一个(移动到最后一个位置),那么特定元素就没有更新,但我想这没有问题,谢谢你的回答。我们将完全记住这一点。
$(function () {

    $('ul').sortable({
        update: function (event, ui) {
            var prevElement = ui.item.prev();
            var nextElement = ui.item.next();
            $('span#prev').html(prevElement.html());
            $('span#next').html(nextElement.html());
        }
    });

});