如何使用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>
发布于 2013-12-20 19:35:24
<?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>
发布于 2013-12-20 19:36:55
http://www.w3schools.com/tags/att_select_multiple.asp
首先,将$val更改为数组。然后是select options use in_array() ( http://www.php.net/in_array )来验证您是否需要在给定选项中打印selected="selected“。
我想这是最简单的选择
发布于 2013-12-20 19:44:42
这是一个解决方案
<?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
https://stackoverflow.com/questions/20702677
复制相似问题