<ul> <li>A</li> <li>B</li> <li>C</li> </ul>
I na przyklad po kliknieciu w A wysylam request ajaxem o pod kategorie i otrzymuje:
<ul> <li> A <ul> <li>B</li> <li>C</li> </ul> </li> <li>B</li> <li>C</li> </ul>
itd dodam ze taki zaglebien jest bardzo duzo.
Mam niby takie cos:
<ul class="categories"> <?php foreach($categories as $k => $v): ?> <?php endforeach; ?> </ul> $('.category').on('click', function (e) { e.preventDefault(); var data_id = $(this).attr('data-id'); $(this).addClass('clicked'); var ajax = $.ajax({ method: "POST", data: { id: data_id }, url: "/search/childrensCategory", dataType: "JSON", success: function (res) { html = '<ul>'; $.each(res, function (k, v) { html += '<li><a class="category" data-id="' + v.id + '">' + v.name + '</a></li>'; }); html += '</ul>'; if (!$(this).hasClass('clicked')) { $('.clicked').parent().append(html); $('.category').removeClass('clicked'); } } }); });
Ale to tylko rozwija kategorie pierwszego stopnia nie wykrywa wogole eventu na click w podkategorii.