Javascript 未正确更新对象值
我的目标如下:Javascript 未正确更新对象值,javascript,jquery,html,object,Javascript,Jquery,Html,Object,我的目标如下: { "headerSection": { "text": "Some Text", "color": "red", "fontSize": "12px", "backgroundColor": "#000", "textAlign": "left" } } 我有一个下拉列表,用户可以选择不同的字体大小,即14px、16px。。20像素。在该下拉列表的更改事件中,我想更改上述对象中fontSize的值,以便: $('#font-siz
{
"headerSection": {
"text": "Some Text",
"color": "red",
"fontSize": "12px",
"backgroundColor": "#000",
"textAlign": "left"
}
}
我有一个下拉列表,用户可以选择不同的字体大小,即14px、16px。。20像素。在该下拉列表的更改事件中,我想更改上述对象中fontSize的值,以便:
$('#font-size-ddl').change(function () {
var value = $(this).val();
headerObj.fontSize = value;
console.log(JSON.stringify(headerObj));
});
在上面的console.log中,输出为:
{
"headerSection": {
"text": "Some Text",
"color": "red",
"fontSize": "12px",
"backgroundColor": "#000",
"textAlign": "left"
},
"fontSize": "20px",
}
有人能告诉我我做错了什么吗 您应该更新headerSection fontSize属性
在您的例子中,编译器在查看headerObj对象的fontSize属性时,没有找到它,而是为您的对象创建了一个新属性
让我们来看看={
校长组:{
文本:一些文本,
颜色:红色,
字体大小:12px,
背景颜色:000,
文本对齐:左
}
}
$'select'.change函数{
var值=$this.val;
headerObj.headerSection.fontSize=值;
console.logJSON.stringifyheaderObj;
}.触发“改变”;
20px
30px
您应该更新headerSection fontSize属性
在您的例子中,编译器在查看headerObj对象的fontSize属性时,没有找到它,而是为您的对象创建了一个新属性
让我们来看看={
校长组:{
文本:一些文本,
颜色:红色,
字体大小:12px,
背景颜色:000,
文本对齐:左
}
}
$'select'.change函数{
var值=$this.val;
headerObj.headerSection.fontSize=值;
console.logJSON.stringifyheaderObj;
}.触发“改变”;
20px
30px
我相信,在查看了您的输出之后,fontSize属性的附加是不正确的 您需要执行此操作才能将其添加到headerSection下
我相信,在查看了您的输出之后,fontSize属性的附加是不正确的 您需要执行此操作才能将其添加到headerSection下 您正在向headerObj而不是headerObj.headerSection添加一个值,正如您从console.log中看到的那样
您正在向headerObj而不是headerObj.headerSection添加一个值,从console.log可以看到,您有一个嵌套对象。未列出的对象将如下所示
{
"text": "Some Text",
"color": "red",
"fontSize": "12px",
"backgroundColor": "#000",
"textAlign": "left"
}
$('#font-size-ddl').change(function () {
var value = $(this).val();
headerObj["headerSection"]["fontSize"] = value;
console.log(JSON.stringify(headerObj));
});
相反,您有一个外部对象,其名为headerSection的属性指向另一个对象。如果不打算更改数据结构,则需要更改代码以访问内部属性。像这样的
{
"text": "Some Text",
"color": "red",
"fontSize": "12px",
"backgroundColor": "#000",
"textAlign": "left"
}
$('#font-size-ddl').change(function () {
var value = $(this).val();
headerObj["headerSection"]["fontSize"] = value;
console.log(JSON.stringify(headerObj));
});
您有一个嵌套对象。未列出的对象将如下所示
{
"text": "Some Text",
"color": "red",
"fontSize": "12px",
"backgroundColor": "#000",
"textAlign": "left"
}
$('#font-size-ddl').change(function () {
var value = $(this).val();
headerObj["headerSection"]["fontSize"] = value;
console.log(JSON.stringify(headerObj));
});
相反,您有一个外部对象,其名为headerSection的属性指向另一个对象。如果不打算更改数据结构,则需要更改代码以访问内部属性。像这样的
{
"text": "Some Text",
"color": "red",
"fontSize": "12px",
"backgroundColor": "#000",
"textAlign": "left"
}
$('#font-size-ddl').change(function () {
var value = $(this).val();
headerObj["headerSection"]["fontSize"] = value;
console.log(JSON.stringify(headerObj));
});
好的,那么你只需要做一点改变
$('#font-size-ddl').change(function () {
var value = $(this).val();
headerObj.headerSection.fontSize = value; // See here.
console.log(JSON.stringify(headerObj));
});
好的,那么你只需要做一点改变
$('#font-size-ddl').change(function () {
var value = $(this).val();
headerObj.headerSection.fontSize = value; // See here.
console.log(JSON.stringify(headerObj));
});
这里的headerObj是什么?@HimanshuUpadhyay headerObj是我的对象,它从服务器返回给我,正是我在回答问题时提到的方式。希望你得到解决办法@code.headerObj是什么?@HimanshuUpadhyay headerObj是我的对象,它从服务器返回给我,正是我提到的方式在问题中,我已经回答了您的问题。希望您得到解决方案@code。欢迎光临。很乐意帮忙。你也可以接受答案。欢迎光临。很乐意帮忙。你也可以接受答案。我很抱歉,你是第一个回答的人。我很抱歉,你是第一个回答的人。