2009-10-01 62 views
0

我使用下面的代码来构建对象通过AJAX发布:在解析时如何动态检查对象为在javascript/jQuery的一个子对象/属性

eval('var prop = { ' + input.attr('name') + ': inputVal };'); 
paramsObj = $.extend(paramsObj, prop); 

不幸的是,我有一个小麻烦我当涉及到收音机/复选框,因为我需要将这些值协调成一个参数。

我如何检查是否paramsObj有一个名为input.attr( '名称')的对象,这样我就可以改变它,而不是将其设置

感谢

回答

4
var propName = input.attr('name'); 
if (paramsObj.hasOwnProperty(propName)) { 
    console.log('prop found'); 
} else { 
    console.log('prop not found'); 
} 

PS。不要使用eval。永远。

你可以让你在EVAL有同样的效果与下面的代码,它是更安全:

var prop = {}; 
prop[input.attr('name')] = inputVal; 
相关问题