我希望能够添加到Zend_Form
许多Zend_Form_Element_Select
.
我有一些My_Form_Selects extends Zend_Form
循环
$element = $this->createElement('Select', 'element[]');
$this->addElement($element);
但它只创建一个选择元素(Zend_Form
忽略[]
元素名称)。
我该怎么做?
我希望能够添加到Zend_Form
许多Zend_Form_Element_Select
.
我有一些My_Form_Selects extends Zend_Form
循环
$element = $this->createElement('Select', 'element[]');
$this->addElement($element);
但它只创建一个选择元素(Zend_Form
忽略[]
元素名称)。
我该怎么做?
你有没有尝试过:
$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()访问器确定名称。