2011-05-31 276 views

回答

1

創建每個$另我Zend_Form_SubForm的:

for ($i = 1; $i < 10; $i++) { 
    $subform = new Zend_Form_SubForm(); 
    $subform->addElement('text', 'name'); 
    $mainform->addSubForm($subform, $i); 
} 

文本元素將被命名爲 「1名]」, 「2名]」,等等。如果你希望他們被命名爲「列表[1] [名]」,那麼你需要的子窗體的另一個層面:

$listform = new Zend_Form_SubForm(); 
$mainform->addSubForm($listform, 'list'); 
for ($i = 1; $i < 10; $i++) { 
    $listsubform = new Zend_Form_SubForm(); 
    $listsubform->addElement('text', 'name'); 
    $listform->addSubForm($listsubform, $i); 
} 
+0

很多thanx!它的工作原理!:) – Anthony 2011-05-31 14:48:33

+1

你只需要1級子表單,然後爲每個元素添加:$ name-> setBelongsTo('name'); – venimus 2011-05-31 15:21:53

1

使用

$element->setBelongsTo($array) 

,並在$陣列可以定義爲多個層級當你需要的時候,你不需要創建那麼多級別的子表單。你甚至不需要創建任何子表單。

享受!

+0

Thx,我試過了。它似乎並沒有工作:( 在子窗體工作完全子窗體 – Anthony 2011-06-01 09:42:30

+1

我的錯,語法應該是這樣的(沒有數組): _ $ element-> setBelongsTo('level1 [level2] [level3] ')_ - 在100%工作 – 2011-06-01 09:55:11

+0

好的,thx。將在下一個項目中嘗試它。我嘗試了venimus所說的方式,但它不起作用。 – Anthony 2011-06-01 10:02:31