我需要在下拉列表中使用PHP动态选择值,但在我的情况下,它无法按预期工作。我在下面解释我的代码。
<?php
$citySelected = "";
if(!isset($_GET['city'])){
$citySelected = 'selected="selected"';
}
?>
<select id="selectedLoc" name="selectedLoc" class="chosen-select form-control">
<option value="">Select City</option>
<option value="0" <?php echo $citySelected; ?>>Global</option>
<?php
foreach ($locationArr as $key => $value) {
$id = $value['id'];
$city = $value['city'];
$location = $value['location'];
$selected = "";
if(isset($_GET['city']) && $_GET['city']== $value['id']) {
$selected ='selected="selected"';
}
echo "<option value='$id' $selected>$location</option>";
}
?>
</select>
在这里我需要在有任何query string
值的情况下,它将与各自的id
匹配并选择该选项,如果根本没有查询字符串值,那么global
选项将选择。
答案 0 :(得分:1)
如果条件为';',在里面不见了。应该是
if(isset($_GET['city']) && $_GET['city']== $value['id']){echo ' selected="selected"';}else{echo '';}
您也可以使用条件运算符来简化代码,例如:-
<?php echo (isset($_GET['city']) && $_GET['city']== $value['id'])? ' selected="selected"':''; ?>