gpt4 book ai didi

javascript - jQuery 文档就绪调用序列

转载 作者:行者123 更新时间:2023-11-30 18:13:02 26 4
gpt4 key购买 nike

我在使用 jQuery 时遇到以下问题。我使用这段代码:

function populate_select_from_json(select, json_url) {
select.empty();
$.getJSON(json_url, function(data) {
$.each(data, function(key, value) {
$("<option></option>")
.attr("value", value.name)
.text(value.title)
.appendTo(select);
});
});
select.children(":first").attr("selected", true);
}
$(document).ready(function() {
var value_type = $("#value_type");
populate_select_from_json(value_type, SOME_URL);

var unit = $("#unit");
populate_select_from_json(unit, ANOTHER_URL + value_type.val());

});

我想:

  1. 载入文档
  2. 从关联的数据库中获取一些 JSON 数据
  3. 将数据放入#value_type <select>
  4. 获取#value_type的值选择,并再次查询数据库以填充另一个选择项。

问题是,当我调用 value_type.val() 时, 它总是输出 null ,即使 #value_type <select>正确填充。我在这里做错了什么?

最佳答案

我想这样的东西可能更适合 promises .

按照这些思路(未经测试):

var populate_select_from_json = function($select, json_url) {
$select.empty();
return $.getJSON(json_url, function(data) {
$.each(data, function(key, value) {
$("<option></option>")
.attr("value", value.name)
.text(value.title)
.appendTo($select);
});
$select.children(":first").attr("selected", true);
});
};

$(document).ready(function() {
var $value_type = $("#value_type");
var $unit = $("#unit");

populate_select_from_json($value_type, SOME_URL).done(function(){
populate_select_from_json($unit, ANOTHER_URL + $value_type.val());
});
});

关于javascript - jQuery 文档就绪调用序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14112334/

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