在多选选项中显示先前选择的值

时间:2014-04-12 15:42:51

标签: php html database multi-select

感谢阅读。

我正在使用以下多选项来满足用户的兴趣。他们可以选一个或多个。然后将兴趣作为字符串存储在数据库中,该字符串是从下面的代码提供的数组创建的。问题是,当用户返回修改他/她的兴趣时,我希望该框显示数据库中已有的内容。这个值是$ user-> interests(这是一个字符串)。我看不出我怎么能这样做。你可以看到我在下面添加了$ user->兴趣值。显然这不起作用。任何想法......?

<select name="interests[]" value="<?php echo $user->interests;?>" style="width:390px;" data-placeholder="Select your specialist interests"  class="chosen-select" multiple tabindex="6">
                            <option value=""></option>
                            <option value="Acute critical care">Acute critical care</option>
                            <option value="Allergic diseases">Allergic diseases</option>
                            <option value="Asthma">Asthma</option>
                            <option value="Bronchiectasis">Bronchiectasis</option>
                            <option value="Cardiology">Cardiology</option>

</select>

2 个答案:

答案 0 :(得分:1)

select元素没有值属性。

您需要向{em>默认情况下应选择的selected的每个添加<option>属性。

您应该获取数组中的值列表,然后在输出时检查每个选项是否为in that array

答案 1 :(得分:0)

尝试此变体。

<select name="interests[]" style="width:390px;" data-placeholder="Select your specialist interests"  class="chosen-select" multiple tabindex="6">
<option value=""></option>
<option value="Acute critical care"
 <?php if(strpos( $user->interests,"Acute critical care")){echo 'selected="selected"'} ?> >
Acute critical care
</option>
//Similarly for other options.
//....

</select>