在<select>中选择值的标准方法

时间:2015-09-03 07:26:32

标签: php html

这是静态下拉列表:  &lt; select style =&#34; width:100px&#34;名称=&#34; drink_type&#34;&GT;  &lt; option value =&#34; Water&#34;&gt; Water&lt; / option&gt;  &lt; option value =&#34; Soda&#34;&gt; Soda&lt; / option&gt;  &lt; option value =&#34; Milk&#34;&gt; Milk&lt; / option&gt;  &LT; /选择&GT; 我有一个dynacim饮料类型保存为php变量$ drink_type中的字符串。在对象编辑时,我想根据$ drink_type设置一个选定的下拉值。 寻找最标准的方法将是最好的情况。

4 个答案:

答案 0 :(得分:3)

在这里,(有一点捷径):

foreach(array('Water', 'Soda', 'Milk') as $value){
  echo "<option value=\"$value\" ";

  if($property_name == $value)
    echo "selected=\"true\"";

  echo ">$value</option>";
}

答案 1 :(得分:2)

您可以查看$drink_type并使用selected属性。

<select style="width:100px" name="drink_type">
 <option value="Water" <?php if($drink_type == 'Water') echo 'selected'; ?>>Water</option>
 <option value="Soda" <?php if($drink_type == 'Soda') echo 'selected'; ?>>Soda</option>
 <option value="Milk" <?php if($drink_type == 'Milk') echo 'selected'; ?>>Milk</option>
 </select>

答案 2 :(得分:1)

如果select的值等于$drink_type

,则需要检查每个元素
<option value="Water" <?php if ($drink_type == 'Water') echo 'selected="selected"' ?>>Water</option>

正如您所看到的,这是为了更长的选择而编写的很多内容,因此您应该将值存储在数组中并循环遍历它们。

<select name="drink_type">
<?php
$values = array('Water', 'Soda', 'Milk');
foreach ($values as $value) {
    $selected = ($value == $drink_type) ? ' selected="selected"' : '';
    echo '<option value="' . $value . '"' . $selected . '>' . $value . '</option>';
}  
?>
</select>  

答案 3 :(得分:1)

试试吧。

    <select name="types">
    <?php
        $select_value="water";
        $drinks = array('Water', 'Soda', 'Milk');
        foreach ($drinks as $value) {
           $selected=$value==$select_value? " selected":"";
           echo '<option value="' . $value . '"  '.$selected.' >' . $value . '</option>';
        }  
    ?>
    </select>

或者如果你有数据库表,那么你可以使用下面的代码

- 开始 -

    function itemList($set=""){
        // write user query 
        $query = "SELECT id,name FROM table_name WHERE 1 ORDER BY `name`";
                $result = mysql_query($query);
$selected_id=5;
                if(mysql_num_rows($result)>0){
                    echo '<select name="types">';
                    while($data = mysql_fetch_array($query)){ 
                        $value = $data['id']; 
                        $selected = $value == $selected_id ? ' selected="selected"' : '';
                        echo '<option value="$value" '.$selected.'>' . $data['name'] . ' </option>';                
                    } // end while loop
                    echo '</select>';
                } // end if condition
    } // end function

- 结束 -