gpt4 book ai didi

javascript - 使用每个 jquery 获取未定义的值

转载 作者:行者123 更新时间:2023-11-28 20:04:29 25 4
gpt4 key购买 nike

var returnResponse = function (click, toElement, getParser) {
$("body").on('change', click, function (event) {
$(toElement).empty();
removeExistingDataFull();
$.ajax({
url: "../Controller/jsonParser.php",
type: "GET",
data: getParser + '=' + $(click).val(),
dataType: 'JSON',
success: function (response) {
$(response).each(function () {
console.log(this.getParser);
$(toElement).append($("<option>").attr('value', this.getParser).text(this.getParser));
});
}
});
});
};


returnResponse('#CouserFinder', '#RegType', 'CT_Course_Code');

这是console.log(this);输出

enter image description here

但是当我使用console.log(this.getParser);时,它显示未定义

这是控制台日志输出 enter image description here

我做错了什么?

最佳答案

我认为您正在寻找括号符号:

$(toElement).append($("<option>").attr('value', this[getParser]).text(this[getParser]));
// -------------------------------------------------^---------^-----------^---------^

在 JavaScript 中,您可以通过以下两种方式之一访问属性:

  1. 使用文字(“点分”)语法、foo.bar

  2. 使用字符串(“括号”)语法,foo["bar"]

在第二种情况下,字符串可以是任何表达式的结果,包括变量查找。因此,this[getParser] 将查找由 getParser 中的字符串命名的任何属性。如果 getParser"CT_Course_Code",则 this[getParser] 将在 this 上查找 CT_Course_Code .

<小时/>

旁注:您的代码正在查找 CT_Course_Code 属性,但您的屏幕截图表明 response 数组中的对象没有 CT_Course_Code 属性。不过,他们确实有 CT_Type_Code。假设 response 一个数组,很难判断,因为您没有向我们展示返回的实际 JSON。

关于javascript - 使用每个 jquery 获取未定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21076289/

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