2010-03-05 4 views
0

У меня есть страница, которая содержит несколько div (каждая с уникальным идентификатором и тем же классом, родительский). Под каждым «родительским» div находится div с классом «child» и уникальным идентификационным именем -child. Этот DIV при загрузке страницы пуст.'click' observer в Prototype

Всякий раз, когда вы нажимаете на родительский DIV, выполняется следующий код.

$$('div.parent').each(function(s){ 
    $(s).observe('click', function(event){ 
     event.stop(); 
     var filer = $(s).readAttribute('filer'); 
     var currentElement = $(s).id; 
     var childElement = currentElement + '-children'; 
     new Ajax.Updater ({success: childElement}, root + '/filers/interfacechildren', { 
     parameters: {parentId: currentElement, filer: filer} 
     }); 
    }); 
}); 

Конечно, возможно, что дочерний узел снова является родителем. Ответ выглядит следующим образом (Smarty с Zend Framework):

{foreach from=$ifaces item=interface} 
    <div id="{$interface->name}" filer="{$interface->system_id}" class="parent">{$interface->name}</div> 
    <div id="{$interface->name}-children" class="child"></div> 
{/foreach} 

Всякий раз, когда я нажимаю на «родительском» DIV, который загружается внутри ребенка, ничего не происходит :(Любые предложения/исправления, как это исправить

?

ответ

0

Fixed.
я поставил код внутри функции, и сделал рекурсию себя OnSuccess. Таким образом, когда новые родители будут загружены с помощью AJAX, то функция наблюдателя учитывает новые созданные divs.

0

Move event.stop() после Ajax.Updater?

+0

Даже прокомментировал это, он все еще не работает. (но спасибо за предложение) – Tom