Я создаю несколько элементов 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 )
Может ли кто-нибудь помочь, как я могу представить несколько значений?