[英]How to display selected item at drop down list?
我目前正在使用带有下拉列表的编辑表单。 我有一个编辑表单,显示数据库中的当前项目。 但是我不知道我的下拉菜单如何显示匹配下拉列表的数据库中的当前值。 我知道我的解释有些混乱,因此下面的图片将显示更好的解释。
这是我显示下拉菜单的一种编辑形式。 我想要的是通过此下拉菜单视图显示数据库值。
范例:
我的数据库值为Pending
。 然后它将在此下拉菜单视图中显示Pending
。 当我单击下拉菜单时,它将显示如下图所示:
这就是我想要的。 下面是我尝试过的代码。
<div class="floatleft">
<select name="select2" class="select-form-standard" >
<option value="0" id="0" name="status">Deleted</option>
<option value="1" id="1" name="status">Active</option>
<option value="2" id="2" name="status">Pending</option>
<option value="2" id="2" name="status">Suspended</option>
</select>
</div>
但我只知道如何设计下拉菜单,却不知道如何工作。 我正在使用smarty框架。 有人可以给我一些解决方案吗? 提前致谢。
为必须选择的选项添加selected
属性。 假设$value = 0
<?php $value = 0; ?>
<select name="select2" class="select-form-standard" >
<?php foreach($options as $id => $option) { ?>
<option value="<?php echo $id ?>"<?php
if($id == $value) {
echo " selected";
} ?>><?php echo $option ?></option>
<?php } ?>
</select>
尝试这个:
$ statusval是来自数据库的变量
<option value="0" id="0" <?php if($statusval==0){echo "selected;"}?> name="status">Deleted</option>
<option value="1" id="1" <?php if($statusval==1){echo "selected;"}?> name="status">Active</option>
<option value="2" id="2" <?php if($statusval==2){echo "selected;"}?> name="status">Pending</option>
<option value="2" id="2" <?php if($statusval==3){echo "selected;"}?> name="status">Suspended</option>
尝试这个
/**
* Takes To values (First for option value Second for value to be compare)
* @param Srting $option stores Option Value String
* @param String $value Stores to be compare
* @return String
* @access public
*/
function selectBoxSelection($option, $value) {
if ($option == $value) {
return "selected";
}
}
<select name="status">
<option value style='display:none;'>-SELECT Status--</option>
$select_data=mysql_query("Select status,options from yourtable");
while($result=mysql_fetch_array($select_data)){
echo "<option value ='YourValue' ".selectBoxSelection('YourOptionValue', $result['status']).">".$resule['option']."</option>";
}
</select>
<?php
$databaseValue = $your_database_value;
?>
<select name="select2" class="select-form-standard" >
<option value="0" <?php echo (($databaseValue==0)?"selected":"") ?> id="0">Deleted</option>
<option value="1" <?php echo (($databaseValue==1)?"selected":"") ?> id="1">Active</option>
<option value="2" <?php echo (($databaseValue==2)?"selected":"") ?> id="2">Pending</option>
<option value="3" <?php echo (($databaseValue==3)?"selected":"") ?> id="3">Suspended</option>
</select>
您需要将属性“ selected”添加到您希望预先选择的选项中:
<option value="2" id="2" name="status" selected>Pending</option>
或者,如果您使用的是xhtml,则需要使用
selected="selected"
要在数据库中使用该值,您将需要编写if语句以确定数据库值是否与选项值相同,如果相同,则回显选项标签中的“ selected”属性。
您可以通过简单的if语句轻松完成此操作。 在循环内尝试
<option value="<?= $row['id']) ?> " <?= $row['id']==$categoryIDfromDatabase?'selected':''; ?> >
<?= $row['categoryName'] ?>
</option>
<select name="select2" class="select-form-standard" >
<option><?php echo $select2e; ?></option>
<option value="0" id="0" name="status">Deleted</option>
<option value="1" id="1" name="status">Active</option>
<option value="2" id="2" name="status">Pending</option>
<option value="2" id="2" name="status">Suspended</option>
</select>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.