国家/地区列表选择框 - 将一个设置为选中

时间:2014-07-11 09:50:36

标签: php html

我有表单中每个国家/地区的国家/地区列表,以获取包裹报价。

当用户按下“获取报价”按钮时,所有文本表单都保留以前使用PHP输入的信息。

如何使用国家/地区列表框执行此操作?因为我不能在每个选项上都使用PHP来检查是否是所选国家并将“已选择”添加到html。

除了从循环文件生成国家/地区列表之外,还有更好的方法吗?

修改

寻找循环文件的方法,并检查.. 这就是我到目前为止所做的:

$countries = fopen("includes/countries.txt", "r");
$countries = explode(";", $countries);

然后在HTML中:

<select id="countries" name="countries">
<?php
    foreach ($countries as $country){
        echo("<option value=\"" . $country . "\">" . $country . "</option>");
    }

?>
</select>

尚未完成。

4 个答案:

答案 0 :(得分:0)

我假设您有一个存储了您所在国家/地区的阵列。你可以尝试这样的事情:

$countries = array('Albania', 'Egypt');
$selected_country_id = $_GET['c_id']; // You may need to change this to match with your code
$country_selected = array();

foreach($countries as $country) {
    if($country['id'] == $selected_country_id) {
        $country_selected[ $country['id'] ] = ' selected ';
    } else {
        $country_selected[ $country['id'] ] = '';
    }
}

然后,假设您动态添加Select-Options,请执行以下操作:

// In your each-fn

echo '<option value="' . $country['id'] . '" ' . $country_selected[ $country['id'] ] . '>' . $country['name'] . '</option>';

答案 1 :(得分:0)

这样的事情会更好

foreach ($countries as $country) {
    ?>
    <option value="<?php echo $country" <?php echo ($country == $_POST['country'] ? 'selected' : ''; ?>><?php echo $country; ?></option>
    <?php

}

答案 2 :(得分:0)

<select id="countries" name="countries">
    <?php
        foreach ($countries as $country){
            if(isset($_POST["country"]) && $_POST["country"] == $country){
              $sel = "selected";
            }else { $sel= ""; }
            echo("<option value=\"" . $country . "\"" .$sel.">" . $country . "</option>");
        }

    ?>
    </select>

答案 3 :(得分:0)

获取所有国家 - 州 - 城市选择框.... !!!

请参阅链接:GitHub