如何创建一个多选择框,没有选择的选项代码编写器


how to create a multi select box with out selected options codeigniter

嗨,我是使用codeigniter,我想添加一个multi select box到我的页面,

我看到了codeigniter用户指南示例,但它所做的是在多选择中设置值。

like this

$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我试图传递一个空数组。但它不工作

like this

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

如何创建一个没有选择项的多选择。请帮助 ..............

您应该使用form_multiselect()帮助器。

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

我唯一想到的是使用一个包含多个空元素的数组:

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

我尝试了所有的解决方案,但没有人与我合作我尝试了(form_dropdown from from helper)我也试过用普通的方式与multiple= "multiple"

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

旧版本的codeigniter没有form_multiselect()。下一个代码应该可以工作

$array = array();
echo form_dropdown('shirts', $substore_details, $array, 'multiple'); 
$options = array(
  'small'  => 'Small Shirt',
  'med'    => 'Medium Shirt',
  'large'   => 'Large Shirt',
  'xlarge' => 'Extra Large Shirt',
);    
echo form_dropdown('shirts[]',$options);

我们有一个数组我们想在multiselector

中显示这个数组的选定值
$show_selected = array("USA", "Poland", "Japan");

我使用in_array来显示选择器

中的选定值
<select class="form-control js-example-basic-multiple" multiple="multiple">
  <option value="" disabled selected>Choose your country</option>
  <option <?php if(in_array(1,$show_selected)) echo "selected";?>  value="1">USA</option>
  <option <?php if(in_array(2,$show_selected)) echo "selected";?> value="2">Germany</option>
  <option <?php if(in_array(3,$show_selected)) echo "selected";?> value="3">France</option>
  <option <?php if(in_array(4,$show_selected)) echo "selected";?>  value="4">Poland</option>
  <option <?php if(in_array(5,$show_selected)) echo "selected";?> value="5">Japan</option>
</select>
<button class="btn-save btn btn-primary btn-sm">Save</button>