如何在编辑表单中以HTML格式设置下拉列表中的选定值?
所选值来自MySql
这段代码不行!! >>选择= “”
<select name="TutorGender" id="TutorGender" selected="<?php echo $Gender ?>">
<option value="Male">Male</option>
<option value="Female">Female</option>
</select>
答案 0 :(得分:13)
W3Schools在这里做了很好的解释 http://www.w3schools.com/tags/att_option_selected.asp
您的代码可能看起来像这样。
<select name="TutorGender" id="TutorGender">
<option value="Male" <?php if($Gender == "Male") echo "selected"; ?>>Male</option>
<option value="Female" <?php if($Gender == "Female") echo "selected"; ?>>Female</option>
</select>
虽然我的PHP语法可能有些偏差,但你应该明白这一点。
答案 1 :(得分:2)
已选中option
标记,而不是select
标记。
<select name="TutorGender" id="TutorGender" >
<option value="Male" selected="selected">Male</option>
<option value="Female">Female</option>
</select>
答案 2 :(得分:2)
<select name="TutorGender" id="TutorGender">
<option value="Male" <?php if($Gender=='Male') echo 'selected' ?>>Male</option>
<option value="Female" <?php if($Gender=='Female') echo 'selected' ?>>Female</option>
</select>
答案 3 :(得分:0)
selected
属性出现在应该选择的选项上,而不是select元素(如果它在select元素本身上,那么(因为可以同时选择多个选项)它必须列出id
的列表,你需要为每个选项添加一个id。)
<option value="foo" selected>Foo</option>
通常,您将拥有一个值循环的值(或值/人文本对)。 (即你不会硬编码你的选择)
每次循环时都会生成一个选项,并测试每次是否应包含所选属性。
答案 4 :(得分:0)
<option <?php if($Gender == 'Male'){ echo(' selected '); } ?> value="Male">Male</option>
<option <?php if($Gender == 'Female'){ echo(' selected '); } ?> value="Female">Female</option>
答案 5 :(得分:0)
<select name="TutorGender" id="TutorGender">
<?php
$genders = array( 'Male', 'Female' );
foreach( $genders as $value )
{
$selected = ( $Gender == $value )? ' selected="selected"': '';
echo '<option value="' . $value . '"' . $selected . '>' . $value . '</option>';
}
?>
</select>
答案 6 :(得分:0)
只是另一种方式。我更喜欢使用简写if语句来代替这样的代码。
<select name="TutorGender" id=\"TutorGender\">
<option value="Male" <?php echo ($Gender == "Male" ? "selected" : ""); ?>>Male</option>
<option value="Female" <?php echo ($Gender == "Female" ? "selected" : ""); ?>>Female</option>
这是link使用速记&#34;如果&#34;语句。
答案 7 :(得分:0)
如果我需要使用select作为通过数据库填充的用户更新表单的一部分,我发现数组选项效果最好。逐行选项可以非常快速地变得非常笨拙。这样,如果需要任何新选项,您只需要在$ optionDept数组中添加一个选项。在这个例子中,“$ row ['Dept']”来自数据库请求的更大的总体结果。
$optionDept= array('sales','warehouse','inspection','production','accounts','admin','inactive');
$optionCount= count($optionDept);
echo"<select name=\"UserDept\">";
for($x = 0; $x < $optionCount; $x++) {
echo"<option value=".$optionDept[$x];
if($optionDept[$x]==$row['Dept']){echo " selected";}
echo">".$optionDept[$x]."</option>";}
echo"</select</P>
答案 8 :(得分:-1)
试试这个
如果你想把男性保留为选中
<select name="TutorGender" id="TutorGender" >
<option value="Male" selected="selected">Male</option>
<option value="Female">Female</option>
</select>
答案 9 :(得分:-1)
这对我有用:我通过提交我要恢复的值的GET方法发送,然后在php中,在页面末尾(如果没有,如果代码在之前,将设置默认值php)我设置了这些值。
echo "select_language.selectedIndex = ".$_GET['iL'].";";