как создать поле множественного выбора без выбранных параметров codeigniter


Привет, я использую codeigniter, я хочу добавить multi select box на свою страницу,

Я видел пример руководства пользователя codeigniter, но он устанавливает значения в режиме множественного выбора.

Вот так

$options = array(
                  'small'  => 'Small Shirt',
                  'med'    => 'Medium Shirt',
                  'large'   => 'Large Shirt',
                  'xlarge' => 'Extra Large Shirt',
                );

$shirts_on_sale = array('small', 'large');

echo form_dropdown('shirts', $options, $shirts_on_sale);

В этом поле множественного выбора, созданном таким образом

<select name="shirts" multiple="multiple">
<option value="small" selected="selected">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large" selected="selected">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>

Он должен указывать параметры для выбора в массиве $shirts_on_sale, но в моем случае я хочу создать множественный выбор, но dont want selected options я попытался передать пустой массив. но это не работает

Вот так

$array = array();
echo form_dropdown('shirts', $substore_details, $array); 

Как создать множественный выбор без выбранных элементов. пожалуйста, помогите..............

Author: hakre, 2011-10-19

4 answers

Вам следует использовать помощник form_multiselect().

$options = array(
                  'small'  => 'Small Shirt',
                  'med'    => 'Medium Shirt',
                  'large'   => 'Large Shirt',
                  'xlarge' => 'Extra Large Shirt',
                );

echo form_multiselect('shirts', $options);
 8
Author: Cubed Eye, 2011-10-19 12:19:34

Единственное, что приходит мне на ум, - это использование массива с более чем одним пустым элементом:

$options = array(
                  'small'  => 'Small Shirt',
                  'med'    => 'Medium Shirt',
                  'large'   => 'Large Shirt',
                  'xlarge' => 'Extra Large Shirt',
                );

$array = array('','');
echo form_dropdown('shirts',$options, $array);

Этот код работает, хотя и не самый элегантный из существующих.

ОБНОВЛЕНИЕ:

Это даже лучше, я не сразу вспомнил об этом!

echo form_multiselect('shirts',$options,'','');

Вывод:

<select name="shirts" multiple="multiple">
<option value="small">Small Shirt</option>
<option value="med">Medium Shirt</option>
<option value="large">Large Shirt</option>
<option value="xlarge">Extra Large Shirt</option>
</select>
 1
Author: Damien Pirsy, 2011-10-19 12:13:43

В старой версии codeigniter нет form_multiselect(). Следующий код должен работать

$array = array();
echo form_dropdown('shirts', $substore_details, $array, 'multiple'); 
 0
Author: user1189422, 2012-10-26 16:41:18

Я пробовал все решения, но со мной никто не работает , я пробовал (form_dropdown от помощника) я также попробовал обычный способ с несколькими="несколько"

Является ли это распространенной проблемой с codeigniter??

Обновление ошибка заключалась в том, что кто-нибудь забыл назвать в атрибуте html как массив автомобилей[]

<select **name="cars[]"** multiple="multiple">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

Это всегда отлично работает.

 0
Author: Dev_meno, 2016-03-22 08:10:46