2013-09-24 64 views
-1

我的代碼如下所示:如何把一個默認值在php下拉列表中?

<select autofocus="autofocus" name="SourceCountry" id="SourceCountry"> 
    <?php populate_country();?> 
    </select> 

我填充了世界上所有的國家在該下拉列表。我想要一個特定的國家名稱(如日本)作爲默認選擇。我不確定選擇標籤的哪個屬性或屬性會執行此操作。試圖使用很多,但沒有解決。任何人都可以建議

populate_country的代碼是這樣的:

在FetchCountriesList(),有一個選擇查詢,如:

選擇國家不同的國家或地區名稱

感謝

+1

你能告訴我們'populate_country();'函數的代碼嗎? –

+0

只是將「selected」屬性放到包含日本的選項中... – donald123

+0

populate_country的代碼是這樣的: \t如果(connect_to_DB()== 1) \t \t $結果= FetchCountriesList(); \t \t // mysqli_data_seek($ result,0); \t \t而($行= mysqli_fetch_assoc($結果)) \t \t {\t \t \t \t \t回波 '<選項值=' $行[ '國家或地區名稱']。 '>'。$行[ '國家或地區名稱' ]「。'; \t \t} 在FetchCountriesList(),有一個選擇查詢,如: 選擇從國家 – user2811464

回答

1

編輯您的功能,並試圖找到日本並將此作爲一個選擇:)

if(connect_to_DB()==1) $result=FetchCountriesList(); 
//mysqli_data_seek($result,0); 
while($row = mysqli_fetch_assoc($result)) { 
    if($row['CountryName'] !== "Japan") { 
     echo '<option value='.$row['CountryName'].'>'.$row['CountryName'].'</option>'; 
    } else { 
     echo '<option value='.$row['CountryName'].' selected="selected">'.$row['CountryName'].'</option>'; 
    } 
} 
+0

這工作,非常感謝喬蘭登Houting – user2811464

+0

不能只是把選定的未選中=「選擇」? –

0

剛在您希望選擇的選項值上添加屬性selected="selected"

如:

<option value="Japan" selected="selected">Japan</option> 

要在功能使用,這個替換你的函數:

<select autofocus="autofocus" name="SourceCountry" id="SourceCountry"> 
    <?php populate_country("Japan");?> 
    </select> 
+0

我認爲他理解所選的事情,但他不知道從哪裏作爲內容來源於一個PHP funtion添加它.. –

+0

我認爲這個問題是相當清楚的:「我不知道該選擇哪個屬性或屬性標籤這樣做。「 –

+0

嗨艾米利亞,我不能添加所選屬性....我在這裏獲取很多國家名稱動態..我已經寫了只有一個選項標籤,以獲取所有國家名稱 – user2811464

0

地址:

function populate_country($selected = NULL) { 

    if(connect_to_DB()==1) $result=FetchCountriesList(); 

    //mysqli_data_seek($result,0); 

    while($row = mysqli_fetch_assoc($result)) { 

     echo '<option value="'.$row['CountryName'].'" '.($selected == $row['CountryName'] ? 'selected="selected"' : NULL).'>'.$row['CountryName'].'</option>'; 

    } 

} 

然後你可以在你的HTML中使用這例如:

<option value="test" selected="selected">Bla</option> 


$defValue = 'Japan'; 
while($row = mysqli_fetch_assoc($result)) { 
    echo '<option value="' . $row['CountryName'] . '"'; 
    if ($row['CountryName'] === $defValue) { 
    echo ' selected="selected"'; 
    } 
    echo '>'; 
    echo $row['CountryName'] . '</option>'; 
} 
+0

將「已選擇」更改爲「已選」,bro。 –

+0

我想他明白選擇的事情,但他不知道從哪裏作爲內容來源於一個PHP funtion添加它.. –

+1

笑,他很着急,首先獲得接受的答案:) –

0

添加屬性selected。試試這個:

<select name="country"> 
    <option value="kor">Korea</option> 
    <option value="rus">Russia</option> 
    <option selected="selected" value="jap">Japan</option> 
</select> 
+0

我認爲他理解所選的事情,但他不知道在哪裏添加它作爲內容來自PHP funtion .. –

+0

@JoranDenHouting問題的一部分:'我不知道該選擇哪個屬性或屬性標籤做這個'。所以我認爲這個問題是關於屬性:) – Alex

0

在您的函數populate_country()中添加選定的選項。 (在所要的選項爲默認選擇只)

0
<select> 
    <option> Red </option> 
    <option selected="selected"> blue </option> 
    <option> yellow </option> 
</select> 

藍將在下拉菜單進行選擇。

基本上你需要循環throught你的價值觀和比賽,如果你想要的值你所擁有的那些匹配,並且selected="selected"字符串添加到該選項:

我會做這樣的事情:(未經測試)

function populate_country($country){ 
    $countries = array('algeria', 'japan', 'mexico', 'united kingdom' .....); 
    foreach($countries as $country){ 
     $selected = (strtolower($selected) == $country) ? ' selected="selected"' : null; 
     echo "<option$selected>".ucwords($country)."</option>\r\n"; 
    } 
}