设置JavaScript Object文字值

时间:2013-03-10 04:30:08

标签: jquery javascript

我有一个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行;是正确的

我需要键对应于对象属性..我有相同的名字......

我该如何解决这个问题?

2 个答案:

答案 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以包含旧数据和新数据。