2017-09-15 5 views
2

を更新されていない、次のように私は、オブジェクトを持っている:オブジェクトの値が正しく

{ 
"headerSection": { 
    "text": "Some Text", 
    "color": "red", 
    "fontSize": "12px", 
    "backgroundColor": "#000", 
    "textAlign": "left" 
    } 
} 

は、私は、ユーザーがすなわち14px, 16px .. 20px異なるフォントサイズを選択することができますドロップダウンリストを持っています。私は私がそのためのように、私の上記の目的にfontSizeの値を変更したい、このドロップダウンの変更イベントの場合:上記console.log出力に

$('#font-size-ddl').change(function() { 
    var value = $(this).val(); 
    headerObj.fontSize = value; 
    console.log(JSON.stringify(headerObj)); 
}); 

です:

{ 
"headerSection": { 
    "text": "Some Text", 
    "color": "red", 
    "fontSize": "12px", 
    "backgroundColor": "#000", 
    "textAlign": "left" 
}, 
"fontSize": "20px", 
} 

ことができる誰かしてください私が間違っていることを教えてください。

+0

ここでは「headerObj」とは何ですか? –

+0

@HimanshuUpadhyay 'headerObj'はサーバーから私に戻ってくるオブジェクトです。質問で言及したのは正確に – Code

+0

です。私はあなたの問題について答えました。 –

答えて

1

headerSectionfontSizeプロパティを更新する必要があります。

は、あなたのケースでは、あなたのheaderObjオブジェクトのプロパティfontSize世話コンパイラは、それはそれを発見し、あなたのオブジェクトの新しいプロパティを作成しないでください。

let headerObj={ 
 
"headerSection": { 
 
    "text": "Some Text", 
 
    "color": "red", 
 
    "fontSize": "12px", 
 
    "backgroundColor": "#000", 
 
    "textAlign": "left" 
 
    } 
 
} 
 

 
$('select').change(function() { 
 
    var value = $(this).val(); 
 
    headerObj.headerSection.fontSize = value; 
 
    console.log(JSON.stringify(headerObj)); 
 
}).trigger('change');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select> 
 
    <option value="20px">20px</option> 
 
    <option value="30px">30px</option> 
 
</select>

+0

ご協力ありがとうございます。 – Code

+0

@コード、どうぞよろしく! –

+1

私は謝罪しました、あなたはそれに最初に答えました。 – Code

1

私はfontSizeプロパティが不適切に追加されていることを、あなたの出力を見た後、信じています。

headerSectionに追加するには、この操作を行う必要があります。

$('#font-size-ddl').change(function() { 
    var value = $(this).val(); 
    headerObj.headerSection.fontSize = value; // like this 
    console.log(JSON.stringify(headerObj)); 
}); 
+0

ご協力ありがとうございました – Code

1
$('#font-size-ddl').change(function() { 
    var value = $(this).val(); 
    headerObj.headerSection.fontSize = value; 
    console.log(JSON.stringify(headerObj)); 
}); 

あなたがにconsole.log

+0

ご協力ありがとうございます – Code

+0

ご歓迎、@コード – aberdeenphoenix

1

から見ることができるようにあなたは、ネストされたオブジェクトを持って、headerObj代わりのheaderObj.headerSectionに値を追加しています。ネストされていないオブジェクトは次のようになります

{ 
"text": "Some Text", 
"color": "red", 
"fontSize": "12px", 
"backgroundColor": "#000", 
"textAlign": "left" 
} 

代わりに、別のオブジェクトを指す "headerSection"というプロパティを持つ外部オブジェクトがあります。データ構造を変更しない場合は、コードを変更して内部プロパティにアクセスする必要があります。このようなもの

$('#font-size-ddl').change(function() { 
    var value = $(this).val(); 
    headerObj["headerSection"]["fontSize"] = value; 
    console.log(JSON.stringify(headerObj)); 
}); 
+0

ご協力ありがとうございました – Code

1

[OK]をクリックするだけで少し変更する必要があります。

$('#font-size-ddl').change(function() { 
    var value = $(this).val(); 
    headerObj.headerSection.fontSize = value; // See here. 
    console.log(JSON.stringify(headerObj)); 
}); 
+0

ご協力ありがとうございます – Code

+0

ようこそ。お力になれて、嬉しいです。答えも受け入れることができます。 TYIA –

関連する問題