Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未正确更新对象值_Javascript_Jquery_Html_Object - Fatal编程技术网

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。欢迎光临。很乐意帮忙。你也可以接受答案。欢迎光临。很乐意帮忙。你也可以接受答案。我很抱歉,你是第一个回答的人。我很抱歉,你是第一个回答的人。