Javascript 获取jquery-ui.sortable on stop()事件上下一行或上一行的属性值
我有一个gridview,并在其上实现了jquery.ui.sortable 我已成功为自定义属性“printorder”赋值,该属性用于列表中的顺序。我需要知道的是,在删除可排序项后,如何获取打印顺序的上一个或下一个属性值。以下是我到目前为止所做的工作,但它没有发挥应有的作用: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
$(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());
}
});
});