我有一个JS对象如下;
var UserDataObj = {
name: "John",
email: "john@example.com",
phone: "9999999999",
desc: "some description"
}
现在这是一个全局变种。
在我的一个保存表单数据的函数中,
我有
$(".formFieldUserData").each(function(){
var key = $(this).attr("name");
var value = $(this).val();
UserDataObj.key = value;
})
现在,我想使用用户输入的值更新UserDataObj中的默认值。 我不确定UserDataObj.key = value行;是正确的
我需要键对应于对象属性..我有相同的名字......
我该如何解决这个问题?
答案 0 :(得分:4)
你可以尝试
UserDataObj[key] = value;
答案 1 :(得分:0)
原始对象:
var UserDataObj = {
name: "John",
email: "john@example.com",
phone: "9999999999",
desc: "some description"
}
设置并填充新对象:
var userData = {};
$(".formFieldUserData").each(function(){
var $this = $(this);
userData[$this.attr("name")] = $this.val();
});
将新数据合并到我们已有的数据中:
$.extend(UserDataObj, userData);
注意:$.extend
会修改UserDataObj
以包含旧数据和新数据。