从下拉列表中仅获取选定的值,并从下拉列表中删除未选中的值

时间:2017-05-18 10:11:15

标签: javascript php jquery drop-down-menu

我有两个多重下拉列表,其中一个下拉列表中包含所有值的所有字段,在第二个下拉列表中我显示了所选值,但是这个所有其他值也即将到来,我没有选择,我想要仅显示我在添加记录时选择的三个值,并且值在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/

1 个答案:

答案 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>