使用可排序的jquery交换2个列表项的ID

时间:2014-06-30 10:05:40

标签: javascript jquery jquery-ui-sortable

我正在使用一个可排序的列表项,我希望将项目从位置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'
});
});

0 个答案:

没有答案