2013-03-10 35 views
0

我有一個JS對象如下;設置JavaScript對象文字值

var UserDataObj = { 
    name: "John", 
    email: "[email protected]", 
    phone: "9999999999", 
    desc: "some description" 
} 

現在這是一個全球性的變種。

在我的功能來保存表單數據之一,

$(".formFieldUserData").each(function(){ 
    var key = $(this).attr("name"); 
    var value = $(this).val(); 
    UserDataObj.key = value; 
}) 

現在我想通過用戶輸入的值更新UserDataObj的默認值。 我不確定如果行UserDataObj.key = value;正確

我需要鑰匙對應於對象property..I具有相同的名稱...

我該如何解決這個問題?

回答

4

您可以嘗試

UserDataObj[key] = value; 
0

原來的對象:

var UserDataObj = { 
    name: "John", 
    email: "[email protected]", 
    phone: "9999999999", 
    desc: "some description" 
} 

設置和填充新的對象:

var userData = {}; 

$(".formFieldUserData").each(function(){ 
    var $this = $(this); 
    userData[$this.attr("name")] = $this.val(); 
}); 

合併新的數據到數據,我們已經有了:

$.extend(UserDataObj, userData); 

注意:$.extend將修改UserDataObj以包含舊數據和新數據。