我有两个多重下拉列表,其中一个下拉列表中包含所有值的所有字段,在第二个下拉列表中我显示了所选值,但是这个所有其他值也即将到来,我没有选择,我想要仅显示我在添加记录时选择的三个值,并且值在db(1,2,3)中单独保存逗号。 下面是我的PHP代码,它显示所选的值以及所有其他值也。所以我想从第二个下拉列表中删除我尚未添加的值。其中$ state是一个数组,显示所有列表中的id和名字。
<div class="form-group end">
<select id="second" multiple="true" name="states[]" id="states" >
<?php
foreach($states as $key => $val){
$value = $val->id;
$name = $val->name;
$selected = 1,2,3;
$selected_values = explode(",",$selected);
echo "<option value='$value'".((in_array($value,$selected_values)) ? " selected='selected'":"").">$name</option>";
}
//var_dump($name);die;
?>
</select>
我的多次下拉就像这样 http://jsfiddle.net/h8zuc/
答案 0 :(得分:1)
试试这个:我知道这是你的第二次下拉:
<div class="form-group end">
<select id="second" multiple="true" name="states[]" id="states" >
<?php
foreach($states as $key => $val){
$value = $val->id;
$name = $val->name;
$selected = "1,2,3";
$selected_values = explode(",",$selected);
if(in_array($value,$selected_values)){
echo "<option value='".$value."' selected='selected'>$name</option>";
}
}
//var_dump($name);die;
?>
</select>