0

当我整理的孩子,我已经得到了家长和孩子的价值,但它会就这样产生(title1orangepinkyellowgreen,title1orangepinkyellowgreen,title1orangepinkyellowgreen,title1orangepinkyellowgreen),但我必须打印像这样(Title1_orange,title_pink ...)jquery-sortable - 如何获得父母和孩子的价值(Title1_orange,Title1_pink ...)?

var addPositions = function() { 
    $('.droptrue, .droptrue1').each(function() { 
     var position = 0; 
     $(this).children().each(function() { 
      $(this).data('position', position); 
      position++; 
     }); 
    }); 
}; 

$(document).ready(function() { 
var treeList = ""; 
treeList = "<ul id=\"createTree\" class=\"droptrue1 mt1\">"; 
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')); 
     var c = $(this).text();  
     var z = $(this).parents().eq(1).text(); 
     alert(z); 
     $("#cl").append(z+"<br />"); 
     }); 
    } 
    }); 

这里拨弄链接:http://jsfiddle.net/thilakar/VKWeC/

感谢

+0

我可以告诉你为什么这样做。这是父母李项目。李项目虽然有它的列表。所以它将包括一切。你能在那里创造一个跨度或者什么,这样你就可以达到那个跨度? – Matt

回答

1

正如我前面所说,也许尝试添加一个跨度,因为这个头衔基本上是兄弟“UL”部分名单。

http://jsfiddle.net/VKWeC/1/

您也可以使用上一个()而不是兄弟姐妹。这真的取决于你的html将如何复杂嘿。还有find()。

http://jsfiddle.net/VKWeC/2/

+0

谢谢马特.... –