Я создаю несколько элементов select следующим образом, и они успешно отображаются в форме:
$element = new Zend_Form_Element_Multiselect('clinics');
$element->setLabel("Clinics");
$element->setAttrib( 'style','width: 240px' );
$element->setMultiOptions( array( '1'=>'clinic1', '2'=>'clinic2' ) );
После рендеринга вышеуказанного элемента он показывает следующий html в источнике html:
<select name="clinics[]" id="clinics" multiple="multiple" style="width: 240px" size="5" class="required" tabindex="41">
<option value="1" label="clinic1">clinic1</option>
<option value="2" label="clinic2">clinic2</option>
</select>
Но когда я отправляю форму с двумя выбранными полями и print_r, результат выглядит так:
$request = $this->getRequest();
$form = new Patient_Form_Patient( $formOptions );
if ( $request->isPost() ) {
if ( $form->isValid( $request->getPost() ) ) {
$values = $form->getValues();
print_r($values);die();
}
}
Хранит только первый выбранный параметр в массиве, но не все выбранные элементы:
Array
(
[clinics] => Array
(
[0] => 1
)
[save] => Submit
)
Может ли кто-нибудь помочь, как я могу отправить несколько значений?