2016-02-29 3 views
1

Я получаю странное поведение.Множественное поле выбора в Codeigniter возвращает строку вместо массива значений

В представлении в Codeigniter у меня есть этот код:

<?php echo form_multiselect('post-categories', $active_categories, (!empty($selected_categories))?$selected_categories:null,array('class'=>'form-control')); ?> 

который генерирует следующий HTML

<select name="post-categories" class="form-control" multiple="multiple"> 
<option value="1">Beauty</option> 
<option value="4">More</option> 
<option value="3">New</option> 
</select> 

Однако, когда я отправить форму с несколькими категориями, выбранными я получаю только строки.

В контроллере

var_dump($this->input->post('post-categories')); 

выведет

string(1) "3" 

Есть ли что-то я делаю не так или не хватает?

ответ

0

name должно быть post-categories[] (синтаксис массива). Попробуйте -

form_multiselect('post-categories[]', $active_categories, (!empty($selected_categories))?$selected_categories:null,array('class'=>'form-control')); 
+0

Спасибо, человек. Я глупый. – Markus

Смежные вопросы