как создать мультиселект с выбранными опциями - PullRequest
5 голосов
/ 19 октября 2011

привет, я использую 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); 

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

Ответы [ 5 ]

8 голосов
/ 19 октября 2011

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

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

echo form_multiselect('shirts', $options);
1 голос
/ 22 марта 2016

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

это обычная проблема с codeigniter ??

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

<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>

, это всегда хорошо работает.

1 голос
/ 19 октября 2011

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

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

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

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

UPDATE:

Это даже лучше, сначала не запомнил!

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>
0 голосов
/ 31 января 2019
$options = array(
  'small'  => 'Small Shirt',
  'med'    => 'Medium Shirt',
  'large'   => 'Large Shirt',
  'xlarge' => 'Extra Large Shirt',
);    
echo form_dropdown('shirts[]',$options);
0 голосов
/ 04 февраля 2012

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

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