Php 添加许多名为[]的select元素
我希望能够添加到Php 添加许多名为[]的select元素,php,zend-form,zend-form-element,Php,Zend Form,Zend Form Element,我希望能够添加到Zend_Form许多Zend_Form_Element_Select 我在我的表单中有一些循环 $element = $this->createElement('Select', 'element[]'); $this->addElement($element); 但它只创建一个select元素(Zend\u Form忽略元素名称中的[]) 我该怎么做?您是否尝试过: $foo = new Zend_Form_SubForm(); $foo->setElem
Zend_Form
许多Zend_Form_Element_Select
我在我的表单中有一些循环
$element = $this->createElement('Select', 'element[]');
$this->addElement($element);
但它只创建一个select元素(Zend\u 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()访问器确定名称