ka_*_*lin 3 jquery select populate drop-down-menu
我有以下问题:当我从下拉列表中选择一个元素时,我想通过ajax自动填充另一个下拉列表.我们的想法是在选择"类型"后不加载子类别(sub_type).
HTML
<select id="type" name="type">
<option value="1">General</option>
<option value="2">Test</option>
</select>
<select id="sub_type" name="sub_type">
</select>
SCRIPT
$("#type").change(function(){
$.getJSON("ajax/add_subcathegory.php",{id: $(this).val(), ajax: 'true'}, function(j){
var options = '';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].id+ '">' + j[i].name+ '</option>';
}
});
$("#sub_type").html(options);
});
Run Code Online (Sandbox Code Playgroud)
我的ajax脚本返回:
[{id: 0, name: 'Mark'}, {id:1, name: 'Andy'}, {id:2, name: 'Richard'}]
Run Code Online (Sandbox Code Playgroud)
但是subcathegory(secont select)没有加载.
Cod*_*odo 13
假设确实调用了Ajax成功函数,请将函数代码更改为:
var $subType = $("#sub_type");
$subType.empty();
$.each(j, function () {
$subType.append($('<option></option>').attr("value", this.id).text(this.name));
});
Run Code Online (Sandbox Code Playgroud)
您目前的主要问题是:
html函数只被调用一次,因为它在sucess函数之外.更新:
返回的JSON无效.字符串必须引用双引号,而不是单引号.结果,getJSON()呼叫无声地失败.
| 归档时间: |
|
| 查看次数: |
18597 次 |
| 最近记录: |