gpt4 book ai didi

jQuery 从页面加载数据中设置选定选项

转载 作者:行者123 更新时间:2023-12-01 01:09:43 27 4
gpt4 key购买 nike

我有一个页面,它使用 jQuery 在页面加载时加载选项下拉列表。那部分工作正常。然后,我想根据查询字符串在下拉列表中设置所选选项(如果有),如果没有则默认它。查询字符串恢复正常,但我无法使所选选项的设置正常工作。在下面的代码中,当我停在“调试器”行并检查 Select0 时,它是未定义的(成功加载后),但如果我允许代码继续运行,下拉列表中将填充来自 ajax 调用的数据。我猜测这就是为什么未设置所选项目的原因 - 只是不知道如何解决它。

    $(document).ready(function () {
$.ajax({
type: "POST",
url: "myPage.aspx/MyWebMethod",
contentType: "application/json; charset=utf-8",
data: "{}",
dataType: "json",
success: function (states) {
var jsonCodes = JSON.parse(states.d);
for (var i in jsonCodes) {
$("#Select0").append(new Option(jsonCodes[i].regionname, jsonCodes[i].region_id));
}
var first = getUrlVars()["region"];
if (first) {
$.fn.GetInventory(1, 10, reg, 'rank', 'asc'); // If there is a querystring use it
$("#Select0 option[text='" + reg + "']").get(0).selected = true;
}
else {
debugger;
var myText = 'United States';
$("#Select0 option[text='" + myText + "']").get(0).selected = true;
$.fn.GetInventory(1, 10, 'United States', 'rank', 'asc'); // If no query string default to USA
}
}
});

最佳答案

您正在尝试匹配不存在的text属性。你不能写:

$("#Select0 option[text='" + myText + "']").get(0).selected = true;

您可以使用filter()相反:

$("#Select0 option").filter(function() {
return $(this).text() == myText;
}).get(0).selected = true;

或者,更多地利用该库:

$("#Select0 option").filter(function() {
return $(this).text() == myText;
}).first().prop("selected", true);

关于jQuery 从页面加载数据中设置选定选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9624220/

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