首页 > 解决方案 > 如何将默认下拉菜单从 php 更改为 jquery?

问题描述

我有一些用于下拉默认值、数据结构和我的视图页面的代码。我使用 php 的代码没有任何问题。但我想将代码从 php 更改为 jquery。

<select class="form-control pilihData" id="pilihModel" name="pilihModel">
    <?php
    global $pilih;
    error_reporting(0);
    if (isset($_POST['cari'])) :
        if ($_POST['pilihData'] == 'Abdullah') :
            foreach ($pilih as $plh) : ?>
                <option <?php if ($plh['model'] == 'hummer 3') : echo "selected";
                endif; ?> value="<?= $plh['model']; ?>"><?= $plh['model']; ?></option>
            <?php
            endforeach;
        elseif ($_POST['pilihData'] == 'Hasan') :
            foreach ($pilih as $plh) : ?>
                <option <?php if ($plh['model'] == 'toyota avanza') : echo "selected";
                endif; ?> value="<?= $plh['model']; ?>"><?= $plh['model']; ?></option>
            <?php
            endforeach;
        elseif ($_POST['pilihData'] == 'Ahmad') :
            foreach ($pilih as $plh) : ?>
                <option <?php if ($plh['model'] == 'honda brio') : echo "selected";
                endif; ?> value="<?= $plh['model']; ?>"><?= $plh['model']; ?></option>
            <?php
            endforeach;
        endif;
    endif;
    ?>
</select>

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: javascriptphpjquerydropdown

解决方案


这里的问题是脚本会检查每个人应该预先选择哪个选项。这会导致大量不需要的代码重复。JQuery 不会解决这个问题。

更好的方法是跟踪数据库中选定的选项。因此,您的班级usermobil. 第一个是哪个选项mobil可以选择哪个user,第二个是user选择了哪个选项mobil

是关于类之间关系的维基文章。

如果您希望用户恰好选择了 1 个选项,您可以通过在类中引入一个新字段来保存实体id_mobil中的对应项。useruser

如果user在您的第​​一个下拉列表中选择了一个,您需要获取可选选项以及选择哪个选项的新字段。然后创建新选择字段的代码对于每个user. 像这样的东西:

<?php
foreach ($pilih as $plh) : ?>
  <option <?php if ($plh['id_model'] == $selectedUser['id_model']) : echo "selected"; endif; ?>value="<?= $plh['model']; ?>"><?= $plh['model']; ?></option>
<?php endforeach; ?>

推荐阅读