Обратите внимание на класс «MAIN», в который помещается элемент, например
<div class="container">
<ul class="select">
<li> First</li>
<li>Second</li>
</ul>
</div>
. В приведенном выше сценарии объект MAIN, который будет наблюдать jQuery, является «контейнером».
Тогда вы в основном будете иметь имена элементов в контейнере, такие как ul
, li
и select
:
$(document).ready(function(e) {
$('.container').on( 'click',".select", function(e) {
alert("CLICKED");
});
});
пример сценария, который вы используете для создания массива с 2 lvl ???
Вам нужно будет использовать функцию структуры рекурсии:
<?php
function buildArray(array $elements, $parentId = 0) {
$branch = array();
foreach ($elements as $element) {
if ($element['parent_id'] == $parentId) {
$children = buildArray($elements, $element['id']); //recursion
if ($children) {
$element['children'] = $children;
}
$branch[] = $element;
}
}
return $branch;
}
$result= buildArray($rows);
На этом сайте есть много примеров рекурсивных функциональных кодов, но почти все они начинаются с дочерних элементов и вплоть до родителей. В моем случае мне нужно было начать с родителя и пройти весь путь до детей.
Итак, я смог решить эту проблему, написав рекурсивную функцию следующим образом:
function findParentsParent($result,$category) {
global $subs;
foreach ($result as $row) {
if ($row['childName'] == $category['name']) {
$subs[] = $category['childName'];
findParentsParent($result,$row);
return array_reverse($subs);
} elseif ($row['childName'] == $category['childName']) {
$subs[] = $category['childName'];
$subs[] = $category['name'];
return array_reverse($subs);
}
}
}