Не срабатывает цикл for при обходе массива

114
02 сентября 2019, 10:20

не могу понять в чем проблема. Смотрим простой код:

var nabor = $('#category'); 
var items = $('#items'); 
var data = { 
  "Набор услуг A": ['1 Услуга из набора A', '2 Услуга из набора A', '3 Услуга из набора A'], 
  "Набор услуг B": ['1 Услуга из набора B', '2 Услуга из набора B', '3 Услуга из набора B'], 
} 
var uslugi = Object.keys(data); 
 
for (var i = 0; i < uslugi.length; i++) { 
  nabor.append('<p>' + uslugi[i] + '</p>'); 
} 
 
$('#category p').on('click', function() { 
  var uslugiiznabora = data[$(this).text()]; 
  console.log(uslugiiznabora); 
  items.length = 0; 
 
  for (var i = 0; i < uslugiiznabora.length; i++) { 
    items.append('<p>' + uslugiiznabora[i] + '</p>'); 
  } 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

Все идет хорошо до последнего цикла for (var i = 0; i < uslugiiznabora.length; i++) - именно он не отрабатывает, т.е. данные не выводятся. Смотрите, если до цикла выполнить следующие, например: items.append('<p>' +uslugiiznabora[0]+ '</p>'), что по сути выводит данные первого элемента. Но вот почему не срабатывает этот цикл - не могу понять.

READ ALSO
Как избавиться от повторной работы кода при загрузке страниц Ajax?

Как избавиться от повторной работы кода при загрузке страниц Ajax?

Дело в том, что подгружаю страницы через ajax, просто вставив тег скрипт на загружаемую страницу(таких страниц много), и первая работает нормально,...

117
Замена символов переноса на &lt;br&gt;

Замена символов переноса на <br>

Есть <span>Текст1\nТекст2</span>

128
Подружить OwlCarousel c NanoGallery2 и Bootstrap 4?

Подружить OwlCarousel c NanoGallery2 и Bootstrap 4?

Доброго всем времени суток

126
Как нажать на кнопку в форме через sweet alert

Как нажать на кнопку в форме через sweet alert

При использовании метода alert выскакивает окно подтверждения, жму в нем ок, после этого форма улетает и получаю ответ - 123Нужно сделать тоже...

107