我有一个由UI创建的动态字符串变量(valkey
在下面的代码中),我想使用该变量作为JSON键从TestObj获取一个JSON对象的值。但尝试使用以下代码返回错误。
var valkey=$('#cityfrm').val()+"_TO_"+$('#cityto').val();
if($('#cityfrm').val()!="NIL" || $('#cityto').val()!="NIL")
{
$.each(TestObj.valkey, function() {
var durn=this.duration;
var prc=this.price;
var curlegs=this.legs;
// updating ui
});
}
我感谢任何帮助。
答案 0 :(得分:2)
TestObj.valkey
会在valkey
中查找密钥TestObj
,这在您的情况下是未定义的,这就是您收到错误的原因。
如果要从变量中查找键,则需要使用语法TestObj[valkey]
。
例如:
var valkey=$('#cityfrm').val()+"_TO_"+$('#cityto').val();
if($('#cityfrm').val()!="NIL" || $('#cityto').val()!="NIL") {
$.each(TestObj[valkey], function() {
var durn=this.duration;
var prc=this.price;
var curlegs=this.legs;
// updating ui
});
}