2011-07-26 31 views
2

我有树列表(一个父母和4个孩子),如果我更改孩子位置警报框将显示顺序。提醒下降命令 - jquery

例如

我有孩子1,2,3,4,如果我拖动4子​​,并将其放置在2位

警报显示等的顺序1,4,2, 3.

you cac see it as image

和的jsfiddle链接:http://jsfiddle.net/thilakar/AXDQL/

+4

问题是什么? – Soren

+1

实时链接对于一个问题来说是一个很好的*附件*,但也总是在问题中发布相关的代码*。两个原因。 1.人们不应该遵循链接来帮助你。 2. StackOverflow不仅适用于您,而且适用于将来也有类似问题的其他人。外部链接可以被移动,修改,删除等。通过确保相关代码在问题中,我们确保问题(及其答案)在合理的时间段内保持有用。 –

+0

我编辑了这个问题。请检查.....谢谢 –

回答

1
** mind reading mode on (please write question that are understandable withouth links ** 

你可以做(​​必须使用的停止功能,否则警报被触发两次):

$(".droptrue").sortable({ 
    connectWith: "ul.mt", 
    dropOnEmpty: true, 
    stop: function(event, ui) { 
     var order = ui.item.prevAll().length; 
     alert(order); 
     //$.post("updateDB.php", order, function(theResponse){ 
     //$("#contentRight").html(theResponse); 
    //});                
    }          
}); 

小提琴这里:http://jsfiddle.net/nicolapeluchetti/AXDQL/2/

编辑 - 做你想做,你可以做什么这样的:

var addPositions = function() { 
    $('.droptrue').each(function() { 
     var position = 1; 
     $(this).children().each(function() { 

      $(this).data('position', position); 
      position++; 
     }); 
    }); 
}; 
$(document).ready(function() { 
    var treeList = ""; 
    treeList = "<ul id=\"createTree\" class=\"droptrue1\">"; 
    for (var key in jsonObj) { 
     //alert("key: " + key + ", value: " + jsonObj[key]) 
     for (var skey in jsonObj[key]) { 
      treeList += ("<li class=\"listTree\" id=\"asdf\">" + skey + "<ul class=\"droptrue mt\">"); 
      for (var sskey in jsonObj[key][skey]) { 
       for (var ssskey in jsonObj[key][skey][sskey]) { 
        treeList += ("<li class=\"innerList\">" + jsonObj[key][skey][sskey][ssskey] + "</li>"); 
       } 
      } 
      treeList += "</ul></li>"; 
     } 
    } 
    treeList += "</ul>"; 
    $('#tree').append(treeList); 
    addPositions(); 



    $(".droptrue").sortable({ 
     connectWith: "ul.mt", 
     dropOnEmpty: true, 
     stop: function(event, ui) { 
      var order = []; 
      ui.item.closest('ul').children('li').each(function() { 
       order.push($(this).data('position')); 
       }); 
      alert(order.join(', ')); 
       //$.post("updateDB.php", order, function(theResponse){ 
      //$("#contentRight").html(theResponse); 
      //});                
      } 
     }); 
    $("ul.droptrue1").sortable(); 
    }); 

小提琴这里:http://jsfiddle.net/nicolapeluchetti/AXDQL/6

+0

我编辑了问题 –

+0

我更新了我的小提琴:http://jsfiddle.net/nicolapeluchetti/AXDQL/6/ –