如何使用php在下拉列表中选择多个数组选项。
输入:
<?php
$val = "22,33,55";
?>
<select name="choice" multiple="true">
<option value="11">11</option>
<option value="22">22</option>
<option value="33">33</option>
<option value="44">44</option>
<option value="55">55</option>
</select>
我希望输出像:
<select name="choice" multiple="true">
<option value="11">11</option>
**<option value="22">22</option>**
**<option value="33">33</option>**
<option value="44">44</option>
**<option value="55">55</option>**
</select>
答案 0 :(得分:1)
<?php
$val = "22,33,55";
$valarray = explode(',',$val);
?>
<select name="choice" multiple="true">
<option value="11" >11</option>
**<option value="22" <?php if(in_array(22,$valarray)){ ?>selected="selected"<?php } ?>>22</option>**
**<option value="33" <?php if(in_array(33,$valarray)){ ?>selected="selected"<?php } ?>>33</option>**
<option value="44">44</option>
**<option value="55" <?php if(in_array(55,$valarray)){ ?>selected="selected"<?php } ?>>55</option>**
</select>
答案 1 :(得分:0)
http://www.w3schools.com/tags/att_select_multiple.asp
首先,将$ val更改为数组。然后选择选项使用in_array()(http://www.php.net/in_array)来验证是否需要在给定选项中打印selected =“selected”。
我猜这是最简单的选择
答案 2 :(得分:0)
这是一个解决方案
<?php
$selected_value = "22,33,55";
$selected_value = explode(',', $selected_value);
$all_values = array(11,22,33,44,55); ?>
<select name="choice[]" multiple="multiple"> <?php
foreach($all_values as $option_value ) {
$selected = '';
if(in_array($option_value, $selected_value)){
$selected = "selected";
}?>
<option <?php echo $selected; ?> ><?php echo $option_value; ?></option><?php
} ?>
</selected