提交表单后保留下拉菜单的$_GET值

Keep $_GET value of a drop down menu after submitting the form

本文关键字:GET 下拉菜单 表单 保留 提交      更新时间:2023-09-26

编辑:

演示:http://jsfiddle.net/53GKh/6/

我有两个HTML下拉菜单:

第一个是获得汽车品牌:(运行良好(

<form action="car-list.php" method="get">
<select name="search" id="main_list" >
<option value="BMW"<?php if ($_GET['search']== 'BMW') {echo "selected='selected'"; }   ?>>Bmw</option>
</select>
</form>

用户选择品牌后,第二个下拉菜单将被"激活"以选择汽车型号:

<select  name="model"  id="brand" class="secondary">
<option disabled selected> Kies </option>
</select>

使用以下JS代码"激活"第二个下拉菜单im:

$(function() {
var sel, i,
    list = ['aixman', 'alfaromeo', 'bmw'],
    aixman = ['Aixman'],
    alfaromeo = ['33', '75'],
    bmw= ['1-serie','3-serie','4-serie','5-serie','6-serie'],
    astonmartin = ['Cygnet', 'DB7'],
    dev_default = '<option value="default" selected>Kies</option>',

sel_brand = $('#brand');
sel_version = $('#version');
$('select').change(function() {
    switch (this.id) {
        case 'main_list':
            sel_brand.find('option').remove();
            sel_brand.append(dev_default);
            sel_brand.show();
            if (this.value == 'BMW') {
                for (i = 0; i < bmw.length; i++) {
                    $("#brand").append(
                        '<option value="' + bmw[i] + '">' + bmw[i] + '</option>'
                    );        
                }
            }
            break;
    }
});
}); //END document.ready()

我刚刚更新了我的JS代码:在提交/刷新页面后,我如何回显第二个dropbox菜单的选定值?

我建议您更改服务器端PHP代码以适应此功能。

步骤:

  1. 每当提交表单时,使用菜单1选项,获取菜单2的所有值并在变量中设置
  2. 在第二个菜单的HTML中,检查步骤1中的变量是否为isset(),如果是,则在循环中为菜单2的选项创建HTML。此外,在执行此操作时,使用表单提交中的选定值,预先选择该选项。否则,如果是empty(),则不执行任何操作

当用户在菜单1中进行选择时,JavaScript将启动并执行其任务。无论何时提交表单,都会预先创建菜单2。

希望这能让你朝着正确的方向前进。请询问您在执行过程中是否遇到任何困难。