2010-03-05 69 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