我有一个像这样的ajax调用:
$.ajax({
type: "GET",
url: "/api/connection/getCommunities",
dataType: 'json',
cache: false,
success: function (data) {
console.log(data);
var communityDropdown = $("#communtiyDropdown");
$.each(data, function (key, value) {
communityDropdown.append($("<option />").val(key).text(key));
});
}
});
这将获取数据并将密钥放入下拉菜单。我的数据看起来像附加的图像(这是我的控制台登录Chrome的屏幕截图)
现在我使用ajax调用填充了相同的下拉列表,我在ajax调用之外为它创建了一个on change事件。
$("#communtiyDropdown").on('change', function () {
console.log($(this).val());
});
现在我要做的是用户选择的密钥(例如A2T)我想用键值填充另一个下拉列表....我希望这是有道理的。
到目前为止我所尝试的是以下内容。
在我的ajax调用之前创建了这个数组,
var items = [];
然后将项目推入每个
内的ajax调用内的数组中items.push({key: value});
我遇到的问题是键显示为键,而不是键变量只是单词键,值就像它们应该填充,但是如何获取正在被推入数组的对象的键变量?
更新
通过更改items.push({key:value})解决了这个问题。 to items [key] = value;
答案 0 :(得分:3)
如果要将变量的值用作对象的属性名称,则需要使用括号表示法。试试这个:
var obj = {};
obj[key] = value;
items.push(obj);
答案 1 :(得分:2)
通过将items.push({key: value});
更改为items[key] = value;