-1

我的代码如下所示:

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

我在该下拉列表中填充了世界上所有的国家。我想要一个特定的国家名称(比如日本)作为默认选择。我不确定 select 标记的哪个属性或属性可以做到这一点。尝试使用很多,但没有成功。任何人都可以建议吗?

populate_country 的代码如下:

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

在 FetchCountriesList() 中,有一个选择查询,例如:

从国家中选择不同的国家名称

谢谢

4

6 回答 6

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>';
    }
}
于 2013-09-24T14:20:45.823 回答
0

只需selected="selected"在您希望选择的选项值上添加属性。

例如:

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

要在您的函数中使用它,请将您的函数替换为:

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 中使用它:

<select autofocus="autofocus" name="SourceCountry" id="SourceCountry">
  <?php populate_country("Japan");?>
  </select>
于 2013-09-24T14:14:58.430 回答
0

添加seleteced属性,例如:

<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>';
}
于 2013-09-24T14:15:11.310 回答
0

添加属性selected。尝试这个:

<select name="country">
    <option value="kor">Korea</option>
    <option value="rus">Russia</option>
    <option selected="selected" value="jap">Japan</option>
</select>
于 2013-09-24T14:16:04.387 回答
0

在您的函数 populate_country() 中为您的选项添加选定的选项。(仅在您要选择为默认值的选项中)

于 2013-09-24T14:18:53.173 回答
0
<select>
    <option> Red </option>
    <option selected="selected"> blue </option>
    <option> yellow </option>
</select>

蓝色将在该下拉列表中被选中。

基本上,您需要遍历您的值并匹配您想要的值是否与您拥有的值匹配,并将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";
    }
}
于 2013-09-24T14:22:53.770 回答