带有多个下拉列表的jQuery ajax调用

时间:2015-08-28 13:20:53

标签: jquery ajax

我有一个像这样的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的屏幕截图)

enter image description here

现在我使用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;

2 个答案:

答案 0 :(得分:3)

如果要将变量的值用作对象的属性名称,则需要使用括号表示法。试试这个:

var obj = {};
obj[key] = value;
items.push(obj);

答案 1 :(得分:2)

通过将items.push({key: value});更改为items[key] = value;

来解决此问题