Парни, помогите разобраться в следующем. Есть массив
var myArr1 = [
['a',
['a1','a2','a3']
],
['b',['b1','b2','b2'] ],
['c',
['c1','c2','c3'] ]
].
Из него создаются блоки для каждого элемента с индексом 0 по клику.
$(document).on('click','.goods',function(){
myArr1.forEach(function(item){
$('#lists').append('<div class="loot">'+item[0]+'</div>');
});
});
А вот дальше я застрял на таком изврате:
хочу,чтобы по клику на любой блок (например с названием b) - данный список очищался, а создавался следующий, с блоками для b из его массива.
Типа on.click-"b"->append.все блоки, которые есть для b. Или более графически нужно вот это:
|a| |b| |c| => при клике на кнопку a или b, или c (в данном вопросе 'b') => |b1| |b2| |b3|.
Дюже хочется узнать, как такое реализовать можно???
Просто зациклился уже по кругу ходить, в голове одна каша. Нужно свежее мнение со стороны. Поможете?
up =)
В качестве одного из вариантов, при создании начального списка можно сразу навешивать обработчики на создаваемые элементы, в этом случае доступны сразу их индексы, и поиск делать не нужно.
Например:
$(document).on('click','.goods',function(){
var list = $('#lists').empty(); // по клику очищаем элемент, чтобы не добавлялось одно и то же несколько раз
myArr1.forEach(function(item,index){
var element = $('<div class="loot">'+item[0]+'</div>');
element.click(function(){
var nestedElements = myArr1[index][1]; // получаем массив для вывода
$('#lists').empty() // очищаем элемент
.append( // добавляем новые элементы
nestedElements.map(function(nestedItem){
return $('<div class="loot">'+nestedItem+'</div>');
})
);
});
list.append(element);
});
});
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Использую api google maps для отображение кастомной карты на сайтеСтоит маркер с координатами
В одном проекте потребовалось сделать свой HTML маркеры которые реализованы совершенно стандартным кодом который выдает гугл при гуглении,...
Как сделать input type='file' multiple так, чтоб он работал c ie9?
Нужно выводить текст на экран не во всплывающем окне, а именно в виде текста, как, например echo в PHP или < p >Текст< /p > в HTMLКто знает решение?