gpt4 book ai didi

jquery - 下拉填充ajax

转载 作者:行者123 更新时间:2023-12-01 00:36:44 25 4
gpt4 key购买 nike

我遇到以下问题:当我从下拉列表中选择一个元素时,我想通过 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);
});

我的ajax脚本返回:

[{id: 0, name: 'Mark'}, {id:1, name: 'Andy'}, {id:2, name: 'Richard'}]

但是子类别(第二个选择)未加载。

最佳答案

假设确实调用了Ajax success函数,将函数代码改为:

          var $subType = $("#sub_type");
$subType.empty();
$.each(j, function () {
$subType.append($('<option></option>').attr("value", this.id).text(this.name));
});

您目前的主要问题是:

  • html 函数仅调用一次,因为它位于 success 函数之外。
  • Ajax 数据中的元素具有键 idname,而不是 optionValueoptionDisplay<

更新:

返回的 JSON 无效。字符串必须用双引号引起来,而不是单引号。因此,getJSON() 调用会默默失败。

关于jquery - 下拉填充ajax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7091103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com