首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PHP如果变量等于下拉列表中的值,则将'selected‘属性添加到选项

PHP如果变量等于下拉列表中的值,则将'selected‘属性添加到选项
EN

Stack Overflow用户
提问于 2018-07-20 05:20:58
回答 2查看 2.8K关注 0票数 0

我有一个下拉菜单,检查用户是否已经通过检查数据库选择了一个值,如果他们已经选择了,我想要添加一个' selected‘属性到该选项,以便当他们编辑他们的配置文件时,该选项是由他们选择的内容预先选择的。

下面是我想要实现的一个例子。它适用于文本输入,但我不知道如何使用下拉列表。

因此,如果用户选择'Dog',它将被放入数据库并添加'selected‘作为属性

代码语言:javascript
复制
$animal = $mysqli->escape_string($_POST['animal']);
//PHP UPDATE database script -------->

<label>Animal</label></br>
    <select name='animal' value='<?php if($animal == value){ /*Add selected attribute to option */ ?>'>
         <option value="" disabled selected>Select One</option>
         <option value="" disabled>----------------</option>
         <option value="Dog">Dog</option>
         <option value="Cat">Cat</option>
         <option value="Bird">Bird</option>  
    </select>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-20 05:48:42

定义选项数组

代码语言:javascript
复制
$animals = ['Dog', 'Cat', 'Bird'];

然后从该数组生成<select>的选项列表,根据每个动物检查所选的动物。如果匹配,则添加selected属性。

代码语言:javascript
复制
<label>Animal</label></br>
<select name='animal'>
     <!-- select the default if none of the options are selected -->
     <option value="" disabled <?php if (!in_array($animal, $animals)) echo 'selected' ?>>
         Select One
     </option>
     <option value="" disabled>----------------</option>
     <?php foreach ($animals as $option) {
        echo "<option ";
        if ($animal == $option) {
            echo 'selected';
        }
        echo ">$option</option>"; 
     ?>
</select>

在这种情况下,<option>元素不需要value属性,因为您对选项文本使用了相同的值。(如果省略value属性,将使用选项文本作为值。)

票数 0
EN

Stack Overflow用户

发布于 2018-07-20 05:38:35

像这样试一下:

代码语言:javascript
复制
$animal = $mysqli->escape_string($_POST['animal']);
//PHP UPDATE database script -------->

echo '<label>Animal</label></br>
    <select name="animal">
         <option value="" disabled>Select One</option>
         <option value="" disabled>----------------</option>
         <option value="Dog" ' . ($animal == 'Dog' ? 'selected' : '') . '>Dog</option>
         <option value="Cat" ' . ($animal == 'Cat' ? 'selected' : '') . '>Cat</option>
         <option value="Bird" ' . ($animal == 'Bird' ? 'selected' : '') . '>Bird</option>  
    </select>';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51431897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档