2010-03-05 71 views
0

我有一个页面,其中包含多个div(每个div都有唯一的ID和相同的类,'parent')。在每个“父母”div下,是一个带有“孩子”类和唯一ID名称 - 儿童的div。此DIV在页面加载时为空。原型中的'点击'观察者

无论何时单击父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框架):

{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} 

每当我点击这是一个孩子里面装一个“父”格,什么都不会发生:(任何建议/修复如何解决这个

? Ajax.Updater在后

回答

0

固定的。
我把一个函数中的代码,并使其自身递归的onSuccess。这样,当新的父母都装有AJAX的观察员功能考虑到新创建的div。

0

移动event.stop()?

+0

即使注释掉了,它仍然不起作用。 (但感谢您的建议) – Tom 2010-03-08 10:28:35