使用select的id属性来处理jQuery中的JSON数据

时间:2011-04-19 02:38:49

标签: jquery json

我正在处理几个动态更新的选择框,就像一个动态更新make,model等的自动网站。在我的脚本的早期,我确定更改选择,然后识别下一个选择并从页面中拉出它的ID这样:

var next_select_id = $(next_select).attr('id');

我将其称为next_select_id,因为任何给定select的HTML ID都对应于JSON响应中的父对象类型。

如果选择带有“A”和“B”的两个选项,则在更改A时,next_select_id应为“B”。这将在我通过将next_select_id与字符串连接起来生成URL的页面中稍后工作(例如,它生成http://testing.com/users/B就好了)。

稍后当我尝试使用包含名称和id值的next_select_id的父键处理JSON文件时,这样:

$.each(data, function(i, j){  
  row = "<option value=\"" + j.next_select_id.id + "\">" + j.next_select_id.name + "</option>";  
  $(row).appendTo(next_select);                     
});

在这种情况下,j.something.id对应于ActiveRecord对象的ID。

它说“无法读取未定义的属性'id'”。在尝试此操作之前,我是否需要以某种方式转换next_select_id?谢谢你的帮助!

2 个答案:

答案 0 :(得分:0)

看起来你已经将next_select_id设置为ID字符串。只需删除$ .each中的额外.id即可。 (如果没有,请发布为$ .each设置next_select_id的代码。)

答案 1 :(得分:0)

我似乎对使用分配给变量的字符串的正确方法感到困惑。最后,修复是一个简单的符号更改:

j[next_select_id]["name"]