页面打开时的默认选择值


default select value on page open

我很难思考如何在打开页面edit.php上设置默认选择值。当我打开edit。php时它会在select框中显示不同的值从数据库中获取值。现在打开的第一个值是空的。我希望打开edit.php页面选择下拉列表将从数据库colour表中选择默认值。因此,如果mysql的colour表是3,那么它的s select default value Blue. It it表是4,那么默认的选择值将是Gray。

SQL

colour = 3

代码:main.php

$query = mysql_query("SELECT `colour` FROM `properties`");
$row = mysql_fetch_assoc($query);
if($row['colour'] == 1) { echo ''; }
    else if($row['colour'] == 2) { echo '<b>Colour:</b> Brown'; }
    else if($row['colour'] == 3) { echo '<b>Colour:</b> Blue'; }
    else if($row['colour'] == 4) { echo '<b>Colour:</b> Gray'; }

代码:edit.php

<form action="edit.php" method="post" >
    <select name="colour">
            <option value="1" <?php if (@$_POST['colour']=='1') {echo "selected='selected'"; } ?>></option>
            <option value="2" <?php if (@$_POST['colour']=='2') {echo "selected='selected'"; } ?>>Brown</option>
            <option value="3" <?php if (@$_POST['colour']=='3') {echo "selected='selected'"; } ?>>Blue</option>
            <option value="4" <?php if (@$_POST['colour']=='4') {echo "selected='selected'"; } ?>>Gray</option>
</select>
<input type="submit" value="Submit"/>
</form>

您需要在编辑页面上传递颜色变量。例如:

<option value="1" <?=($color==1)?'selected="true"':'' ?> ></option>
<option value="2" <?=($color==2)?'selected="true"':'' ?> >Brown</option>

等等…

这里,$color来自于数据库选择的值。

如果你想从数据库中获取值,你不需要POST变量

在客户端这样做会容易得多。你需要修改

<select name="colour">

<select name="colour" id="colour">

然后将此代码放入edit.php

<script>
window.onload = function(){
    var select = document.getElementById("colour");
    select.value = 3; //now, 3 is the default value of your select
};
</script>