繁体   English   中英

在下拉框中设置所选选项

[英]Setting selected option in drop-down box

我的SELECT如下所示:

<?php  
$query = "SELECT * FROM Rec_SW2_Rel AS a JOIN SW2 b ON a.Sbj_ID = b.IDsbj GROUP BY a.Sbj_ID ORDER BY b.Descriptor";
 $result = mysql_query($query);  
?>
<select name="country" onchange="getState(this.value)">
    <?php
     while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
     {
    ?>
<option value="<?php echo $line['Sbj_ID']; ?>"> 
<?php echo $line['Descriptor']; ?> 
</option>
<?php
}
mysql_close();
?>
</select>

查询数据库并设置下拉菜单。 问题在于,不会自动选择第一个列出的值。 如果用户想使用它,则为了进行进一步的导航,他们必须首先选择另一个,然后再次选择第一个。

我无法更改数据库中的值。 如果我插入selected='selected'它将返回结果集的最后一个值,但始终不被选择。

您可以针对$ line ['Sbj_ID']进行测试,如果这= =默认情况下所需的值

 <?php  
$query = "SELECT * FROM Rec_SW2_Rel AS a JOIN SW2 b ON a.Sbj_ID = b.IDsbj GROUP BY a.Sbj_ID ORDER BY b.Descriptor";
 $result = mysql_query($query);  
?>
<select name="country" onchange="getState(this.value)">
    <?php

     while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
     {
 ?>
<option value="<?php echo $line['Sbj_ID']; ?>" <?php if($line['Sbj_ID']==value_you_want_selected){?>selected<?php } ?>> 
<?php echo $line['Descriptor']; ?> 
</option>
<?php
$i++; }
mysql_close();
?>

您可能想要这个吗? 加载表单时,第一个选择的选项为空白。

<select name="country" onchange="getState(this.value)">
<option value=""></option>
<?php
 while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
 {

还是从数据库中选择所选数据? 具有selected值的selected列。

<select name="country" onchange="getState(this.value)">
<?php
$first = true;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
?>
<option value="<?php echo $line['Sbj_ID']; ?>" <?php echo ($line['selected']=='selected') ? 'selected="selected"' : '' ; ?>> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM