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

私はあなたにそれがなぜ起こっているのかを伝えることができます。それは親のli項目まで上がっています。李項目はその中にそのリストがあります。それにはすべてが含まれます。あなたはそこにスパンをつくることができますか、それともあなたはそのスパンだけに行くことができますか? – Matt

答えて

1

私は多分そのタイトルは、基本的に「UL」の部分を兄弟のリストであるため、スパンを追加しようとすると、上記の提案のように。あなたはまた、代わりに、兄弟の前に()を使用することができます

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

。それは本当にあなたのhtmlがいかに複雑になっているかによって異なります。 find()もあります。

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

+0

ありがとうございました.... –

関連する問題