javascript - PHP Ajax 调用以清除并填充下拉菜单

标签 javascript php jquery html ajax

大家好,我在网页上有一个表单,例如包含如下所示的汽车列表:

 <select name = "car" id="Cars" onchange="showForm()">
            <option value="0">Toyota</option>
            <option value="1">Audi</option>
            <option value="2">Suzuki</option>
</select>

在此下拉菜单下,我还有另一个模型下拉菜单:

<select id="models" onchange="showForm()">
            <option value="0">R8</option>
            <option value="1">Quattro</option>
            <option value="2">A6 hatchback</option>
</select>

但是 - 我希望当用户选择不同类型的汽车品牌时,第二个下拉列表中的汽车型号能够更改。

我知道我可以使选择具有 onchange 方法,并且我可以进行 ajax 调用,这将创建一个新的模型数组,但是 - 我不知道如何从下拉列表中获取现有模型并填充带有新选项的下拉菜单。我正在使用 PHP。例如 onchange 脚本:

<script type="text/javascript">

    function getModels(obj){
        var carTypeId = $(obj).attr('value');

        $.ajax({
            type: "POST",
            url: "/project/main/getModels",
            data: { 'carTypeId': carTypeId  },
            success: function(msg){
               //I don't know how to put the results back into the select box?
            }
        });
    }

</script>

任何想法将不胜感激 - 我的 php 结果将是一个数组数组,如下所示:

[models] => Array ( [0] => Array ( [modelName] => R8 ) [1] => Array ( [modelName] => A6 hatchback ) ) 

最佳答案

以这种格式返回你的 php 结果

<option value="0">R8</option>
<option value="1">Quattro</option>
<option value="2">A6 hatchback</option>

成功的秘诀:

$.ajax({
    type: "POST",
    url: "/project/main/getModels",
    data: { 'carTypeId': carTypeId  },
    success: function(msg){

    $('#models').html('');
    $('#models').html(msg);

    }
});

未经测试。希望这有帮助。

关于javascript - PHP Ajax 调用以清除并填充下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22987413/

相关文章:

javascript - 为什么 JavaScript 中的正则表达式返回未定义?

javascript - Chrome 浏览器的按钮问题

javascript - jQuery 的局限性是什么?

php - Yii2 在运行时将模型添加到 hasMany 关系中

php - 如何在显示数据库 php mysql 中的表时读取表名

javascript - 如何使用 jquery 为无限循环设置动画?

javascript - 如何在不使用 ES6 类功能的情况下在 Aurelia 中注入(inject)依赖项

php - 如何动态创建新属性

javascript - 如何让我的菜单保持使用滚动功能?

jquery - 配置单级下拉菜单