您正在使用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);
如何创建没有选定项目的多项选择。请帮助..............
答案 0 :(得分:8)
您应该使用form_multiselect()帮助程序。
$options = array(
'small' => 'Small Shirt',
'med' => 'Medium Shirt',
'large' => 'Large Shirt',
'xlarge' => 'Extra Large Shirt',
);
echo form_multiselect('shirts', $options);
答案 1 :(得分: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>
答案 2 :(得分:1)
我尝试了所有解决方案,但没有人和我合作 我试过(来自帮手的form_dropdown) 我也尝试了普通的方式,使用multiple =“multiple”
是codeigniter的常见问题吗?
<强>更新强> 错误是任何人都忘记在html属性中将其命名为array 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>
这总是很好。
答案 3 :(得分:0)
旧版本的codeigniter没有form_multiselect()
。
下一个代码应该可以工作
$array = array();
echo form_dropdown('shirts', $substore_details, $array, 'multiple');
答案 4 :(得分:0)
$options = array(
'small' => 'Small Shirt',
'med' => 'Medium Shirt',
'large' => 'Large Shirt',
'xlarge' => 'Extra Large Shirt',
);
echo form_dropdown('shirts[]',$options);
答案 5 :(得分: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>