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

标签 javascript php jquery ajax

编辑:

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

我有 2 个 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 代码:

$(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 代码:如何在提交/刷新页面后回显第二个保管箱菜单的选定值?

最佳答案

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

步骤:

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

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

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

关于javascript - 提交表单后保留下拉菜单的 $_GET 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22581526/

相关文章:

javascript - JQuery - 分离然后将一个项目附加到列表中 - 为什么这个简单的示例不起作用?

php - 如果消息已被用户删除,如何在 mysql 查询中添加?

javascript - 使用 JQuery、Ajax 和 PHP 的登录处理程序

jquery - 游戏重置功能不起作用

javascript - 在 typescript 中扩展 Angular 全局对象

javascript - 获取相机位置javascript

c# - 使用 ASP.NET 或 Sharepoint

php - Codeigniter 关联数组 - 在 foreach 循环中更改数组名称

JQuery 记住 CSS 布局更改?

jQuery:live() 和 delegate()