0

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

我需要与对象属性对应的密钥..我有相同的名称...

我该如何解决 ?

4

2 回答 2

4

你可以试试

UserDataObj[key] = value;
于 2013-03-10T04:32:22.513 回答
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以包含新旧数据。

于 2013-03-10T04:40:13.557 回答