我正在使用一个可排序的列表项,我希望将项目从位置a移动到位置b以使项目具有新位置。 例如 * Firsth:1 *第二:2 *第三:3 当将第三个换成第一个时,我将获得: *第一:3 *第二:2 *第三:1
这是我到目前为止所尝试的
$(function () {
$('#sortable').sortable({
//to prevent items from moving around when draging
containment: "parent",
start: function (event, ui) {
// get the initial position(index) of item
var start_pos = ui.item.attr('id');
ui.item.data('start_pos', start_pos);
},
update: function (event, ui) {
var start_pos = ui.item.attr('id');//position of dragged
// alert(start_pos);
var sortedIDs = $( "#sortable" ).sortable( "toArray" );
console.log(sortedIDs);
// Iterate over all <li> elements
var new_pos=((sortedIDs.indexOf(start_pos))+1);
// alert(new_pos);
if (start_pos < new_pos) {
//update the items before the re-ordered item
for(var i=new_pos; i > 0; i--){
$(this).attr('id', (i-1));
}
}
else {
//update the items after the re-ordered item
for(var i=new_pos+2;i <= $("#sortable li").length; i++){
$(this).attr('id', (i-1));
}
}
},
axis: 'y'
});
});