我正在尝试将一个选择框添加到我的一个表单中(仅使用 input type="text" 元素就可以很好地工作),但我得到的只是一个没有标签的空选择框。所以这是我使用的代码:
Bla.php :: Bla->getInputFilter()
$inputFilter->add($factory->createInput(array(
'type' => 'Zend\InputFilter\Select',
'name' => 'payment_type',
'required' => true,
'filters' => array(
array('name' => 'Int'),
),
)));
BlaForm.php :: BlaForm->__construct():
$this->add(array(
'type' => 'Zend\Form\Element\Select',
'name' => 'payment_type',
'options' => array(
'label' => 'Payment',
'value_options' => array(
0 => 'Nur Überweisung',
1 => 'Nur Paypal',
2 => 'Nur Barzahlung im Voraus',
),
),
'attributes' => array(
'value' => 0 //set selected to "Nur Überweisung"
)
));
bla.php (查看)
<div class="control-group">
<?php
echo $this->formLabel($form->get('payment_type')->setLabelAttributes(array(
'class' => 'control-label'
)));
?>
<div class="controls">
<?=$this->formElement($form->get('payment_type'));?>
<span class="help-inline"><?=$this->formElementErrors($form->get('payment_type'));?></span>
</div>
</div>
我已经尝试使用“options”而不是“value_options”,昨天我了解到它只是“value_options”的别名。在我看来,我也尝试了 formSelect() 而不是 formElement() ,但这也没有改变任何东西。我什至从字符串中删除了变音符号以进行测试......
有没有人遇到过同样的问题或有任何想法,我目前做错了什么?