jquery-сортируемый - как получить значение родительского и дочернего поочередно, как (Title1_orange, Title1_pink ...)? - PullRequest
0 голосов
/ 30 июля 2011

при сортировке дочернего элемента у меня есть значение parent и child, но оно будет выглядеть следующим образом: (title1orangepinkyellowgreen, title1orangepinkyellowgreen, title1orangepinkyellowgreen, title1orangepinkyellowgreen), но я должен напечатать его следующим образом (Title1_orange, title_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/

Спасибо

1 Ответ

1 голос
/ 30 июля 2011

Как я и предлагал выше, возможно, попробуйте добавить диапазон, поскольку этот заголовок в основном является списком, состоящим из части "ul" списков.

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

Вы также можете использовать prev () вместо братьев и сестер. Это действительно зависит от того, насколько сложным будет ваш HTML. Также есть find ().

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...