2013-02-01 31 views
2

如何在編輯表單的HTML中的下拉列表中設置選定的值?如何在HTML中的下拉列表中設置選定的值?

選定值從MySQL

來到這個代碼是不行的! >>選擇= 「」

<select name="TutorGender" id="TutorGender" selected="<?php echo $Gender ?>"> 
    <option value="Male">Male</option> 
    <option value="Female">Female</option> 
</select> 
+0

你能告訴我們php代碼嗎? – piddl0r

+0

它不是如何工作的:https://developer.mozilla.org/en-US/docs/HTML/Element/select – Tchoupi

回答

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語法可能有點偏離,但您應該明白。

+0

那就是Thanx :) – NamshanNet

2

選擇那張option標籤,而不是在select標籤。

<select name="TutorGender" id="TutorGender" > 
<option value="Male" selected="selected">Male</option> 
<option value="Female">Female</option> 
</select> 
+0

謝謝你的回答,但這不是你要找的 – NamshanNet

0

selected屬性出現在應該選擇的選項(),而不是選擇元素(如果它去選擇元素本身,就那麼(因爲多個選項都可以在同一時間選擇)它將不得不採取id s清單,你需要爲每個選項添加一個id)。

<option value="foo" selected>Foo</option> 

通常你將有值的陣列(或值/人文本對),你會循環結束。 (即,你不會硬編碼你的選項)

每當你繞過循環時,你會產生一個選項,並測試每次你是否應該包括一個選定的屬性。

+0

謝謝你你的回答,但這不是你要找的 – NamshanNet

+0

@南山網 - 我已經重讀過你的問題......並且據我所知...是的,它是。也許你應該重新解釋你的問題(或者解釋這個答案中缺少的東西)......因爲你對此評論的其他答案都與這個答案類似(所以如果我誤解了,那麼我並不孤單)。 – Quentin

0
<option <?php if($Gender == 'Male'){ echo(' selected '); } ?> value="Male">Male</option> 
<option <?php if($Gender == 'Female'){ echo(' selected '); } ?> value="Female">Female</option> 
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> 
-1

如果你想保持男性爲選擇

<select name="TutorGender" id="TutorGender" > 
<option value="Male" selected="selected">Male</option> 
<option value="Female">Female</option> 
</select> 
+0

謝謝你的回答,但這不是你要找的 – NamshanNet

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> 
-1

這個工作對我說:我送througt的GET方法提交我要還原的值,然後在PHP中,在頁面的末尾(如果不是,默認值將會被設置代碼是在php之前)我設置這些值。

echo "select_language.selectedIndex = ".$_GET['iL'].";"; 
+0

你真的應該使用基本的HTML(也就是在你選擇的選項元素上設置selected屬性),而不是度假使用JavaScript黑客。 – Tularis

0

只是另一種方式。我更喜歡使用速記,如果這樣的代碼語句。

<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以 「如果」 語句中使用的簡寫。

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> 
相關問題