0

私は次のようにJSオブジェクトを持っています。

var UserDataObj = {
    name: "John",
    email: "john@example.com",
    phone: "9999999999",
    desc: "some description"
}

これがグローバル変数です。

フォームデータを保存する関数の1つで、

私は持っています

$(".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 に答える