【发布时间】:2014-05-24 02:56:54
【问题描述】:
大家好,我在网页上有一个表格,例如包含如下所示的汽车列表:
<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>
但是 - 我希望当用户选择不同类型的汽车品牌时,汽车型号的第二个下拉菜单会发生变化。
我知道我可以让 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 ) )
【问题讨论】:
-
1.让你的 API 变得安静 [i.e.没有
POST到getModels路由,而是GET到/models; 2.通过json_encode返回一个json数组,然后在jQuery中对其进行迭代并将<option>s附加到所需的<select>标签上。 -
我可以举个例子吗 - 附加模型会删除模型选择中已经是选项的模型吗?
-
追加不会删除任何东西[根据定义]。去试试吧,你现在有所有的关键词可以搜索谷歌:))
标签: javascript php jquery html ajax