【发布时间】:2009-12-15 19:08:09
【问题描述】:
我正在使用具有多个高级对象的 JSON 数据集。如果我从字面上声明对象名称,我可以毫无问题地遍历 JSON,但是当我在其位置使用变量时,我会得到错误。似乎它正在尝试将变量名称应用为对象的文字名称。这是一个简单的例子
function(data){
var select = $('#lists select');
var activeList = $(select+':selected').val();
$.each(data.activeList, function(i,item){
// Do stuff
});
}
在这种情况下,如何让它使用 activeList 的值?需要明确的是,变量 activeList 正确地返回了所选选项的值。如果 activeList 的值为“Christmas_List”,则遍历 data.activeList 应该遍历 JSON 数据中的 Christmas_List 对象。这不起作用,似乎 data.activeList 正在寻找“activeList”对象。如果我在 activeList 的位置(Christmas_List)尝试文字值,则循环正常工作。
有什么想法吗?谢谢
【问题讨论】:
-
2 个问题:
select是在哪里定义的?另外,您认为可以使用.each迭代的val()返回的值是多少? -
你遇到什么样的错误?
-
select 只是一个指向选择下拉列表的变量。对不起,我没有澄清这一点。 activeList 成功返回下拉列表的选定值。我已将相关代码添加到问题中。我收到指向 jquery 库的错误“G 未定义”。这是我尝试遍历 JSON 数据中不存在的对象时遇到的错误。