2

我希望能够添加到Zend_Form许多Zend_Form_Element_Select.

我有一些My_Form_Selects extends Zend_Form循环

$element = $this->createElement('Select', 'element[]');
$this->addElement($element);

但它只创建一个选择元素(Zend_Form忽略[]元素名称)。

我该怎么做?

4

1 回答 1

2

你有没有尝试过:

$foo = new Zend_Form_SubForm();
$foo->setElementsBelongTo('foo')
    ->setElements(array(
        'bar' => 'text',
        'baz' => 'text'
    ));
echo $foo;

这会导致 HTML 类似于:

<input type="text" name="foo[bar]" id="foo.bar" value="" />
<input type="text" name="foo[baz]" id="foo.baz" value="" />

通过

手册

Zend_Form::setIsArray($flag):通过设置标志 TRUE,您可以指示整个表单应该被视为一个数组。默认情况下,表单的名称将用作数组的名称,除非已调用setElementsBelongTo() 。如果表单没有指定名称,或者未设置setElementsBelongTo(),则此标志将被忽略(因为没有元素可能属于的数组名称)。

您可以使用isArray()访问器确定表单是否被视为数组。

Zend_Form::setElementsBelongTo($array):使用此方法,您可以指定表单的所有元素所属的数组的名称。您可以使用getElementsBelongTo()访问器确定名称。

于 2010-09-21T11:27:38.380 回答