7

嗨,我正在使用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); 

如何创建没有选定项目的多选。请帮忙..............

4

6 回答 6

11

您应该使用 form_multiselect() 助手。

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

echo form_multiselect('shirts', $options);
于 2011-10-19T12:19:34.720 回答
1

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

$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>
于 2011-10-19T12:07:31.257 回答
1

我尝试了所有解决方案,但没有人与我合作

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

这总是很好。

于 2016-03-22T07:56:12.573 回答
0

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

$array = array();
echo form_dropdown('shirts', $substore_details, $array, 'multiple'); 
于 2012-02-04T14:03:22.017 回答
0
$options = array(
  'small'  => 'Small Shirt',
  'med'    => 'Medium Shirt',
  'large'   => 'Large Shirt',
  'xlarge' => 'Extra Large Shirt',
);    
echo form_dropdown('shirts[]',$options);
于 2019-01-31T05:24:21.450 回答
0

我们有一个数组,我们想在多选择器中显示该数组的选定值

$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>
于 2020-03-20T10:38:43.200 回答