我有表单中每个国家/地区的国家/地区列表,以获取包裹报价。
当用户按下“获取报价”按钮时,所有文本表单都保留以前使用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>
尚未完成。
答案 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