首页 > 解决方案 > 可以使用php动态设置下拉列表中的选定值

问题描述

我需要在下拉列表中使用 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选项将被选中。

标签: phphtmldrop-down-menu

解决方案


内部 if 条件 ';' 不见了。它应该像

if(isset($_GET['city']) &&  $_GET['city']== $value['id']){echo ' selected="selected"';}else{echo '';}

您还可以使用条件运算符来简化代码,例如:-

<?php echo (isset($_GET['city']) &&  $_GET['city']== $value['id'])? ' selected="selected"':''; ?>

推荐阅读