“Хлебные крошки” из дерева

433
31 декабря 2016, 16:03

Нужно ввести в input название родителей по порядку пытаюсь сделать так:

$('.boxsct').each(function(){ 
  var clnfre = $(this).data('catParentId'); 
  if (clnfre != "") { 
    console.log('----' + clnfre); 
    if ($(this).parents('.boxsct').attr('data-cat-full-id')) { 
      arrindt = $(this).parents('.boxsct').children('label').text(); 
      console.log('--' + arrindt); 
      $(this).children('input').val(arrindt); 
    } 
  } 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div id="result"></div> 
<div class="col-xs-12 col-sm-8 edit-view-field " type="varchar" field="custom_drop_fields" colspan="3"> 
<span id="custom_drop_fields_span"> 
<div class="inp" style="margin-left: 15px;"><div class="boxsct " data-cat-full-id="168" data-cat-parent-id=""> 
<label>Посуда: </label> 
<input type="text" name="name_cat_resp[]"> 
<div class="inp" style="margin-left: 15px;"><div class="boxsct " data-cat-full-id="e1334bf5-5709-fe7a-6653-5861f2698f04" data-cat-parent-id="168"> 
<label>Тарелки:</label> 
  <input type="text" name="name_cat_resp[]"> 
</div></div></div><div class="boxsct " data-cat-full-id="13" data-cat-parent-id=""> 
<label>Для дома: </label> 
<input type="text" name="name_cat_resp[]"> 
<div class="inp" style="margin-left: 15px;"><div class="boxsct " data-cat-full-id="26896c75-3046-ae3e-c997-585cbc28f7e0" data-cat-parent-id="13"> 
<label>Мебель: </label> 
  <input type="text" name="name_cat_resp[]"> 
<div class="inp" style="margin-left: 15px;"><div class="boxsct " data-cat-full-id="b3ecb55d-7cca-b9ec-d538-586200857578" data-cat-parent-id="26896c75-3046-ae3e-c997-585cbc28f7e0"> 
  <label>Диваны: </label> 
<input type="text" name="name_cat_resp[]"> 
</div></div></div></div></div><div class="boxsct " data-cat-full-id="23" data-cat-parent-id=""> 
<label>Для автомобиля: </label> 
  <input type="text" name="name_cat_resp[]"><br> 
</div></div></span> 
</div>

Выводится соответственно в обратном порядке, т.е. от ребенка к родителю, а нужно наоборот (чтоб получилось что то вроде хлебных крошек).

Answer 1
//arrindt = arrindt.split(":").reverse().join(":");
var items = [];
$(this).parents('.boxsct').children('label').each(function(index){
  items.push($(this).text());
});
var arrindt = items.reverse().join("");
$(this).children('input').val(arrindt);
READ ALSO
Отлов появившихся элементов

Отлов появившихся элементов

Пишу сайт который полностью будет использовать ajaxВсе работает до тех пор, пока я не загружаю новый элемент, при нажатии на который вызвается...

420
блок продолжает ехать)

блок продолжает ехать)

блок продолжает ехать но должен заползать назаддолжно получиться меню

421
Селектор левых соседей

Селектор левых соседей

Столкнулся с проблемой: нужно разместить стиль для соседей, которые находится слева от элементаВ моём случае, нужно, чтобы ul элемент красил...

832
Как подключить отдельные стили для IE10+?

Как подключить отдельные стили для IE10+?

Microsoft-то объявил, что теперь IE всё поддерживает, но по факту — c флексами беда, с бутстрапом — беда (по разному принимают отступы)

676