【问题标题】:Adding values to an object javascript将值添加到对象 javascript
【发布时间】:2020-02-24 13:47:44
【问题描述】:

我有这个对象:

var tableData = [
    { value1: 1, value2: "Something", value3: 10 },
    { value1: 2, value2: "Something else", value3: 12 }
];

我有 3 个输入,当我单击按钮添加时,我想将输入文件添加到该对象,如下所示:

var tableData = [
    { value1: 1, value2: "Something", value3: 10 },
    { value1: 2, value2: "Something else", value3: 12 }
    { value1: 3, value2: "Something new else", value3: 5 } // new input
];

我知道我必须做一些事情:

buttonAdd.addEventListener("click", function() {
    alert("clicked");
    // something here
});

HTML:

<input id="value1" type="text">
<input id="value2" type="text">
<input id="value3" type="text">
<button id="add" type="button">Add</button>

<div>
    <table>
       <thead>
          <tr>
             th>value1</th>
             <th>value2</th>
             <th>value3</th>
          </tr>
       </thead>

       <tbody id="tableData">

       </tbody>
    </table>
</div>

提前致谢。

【问题讨论】:

  • 请与我们分享您的 HTML。
  • 绝对不清楚这些对象值应该来自哪里。你能详细说明你的问题吗?
  • 它们应该来自输入,我刚刚更新了问题并放置了 html,所以当按下按钮添加时,对象应该包含来自输​​入的 value1、value2、value3

标签: javascript html object


【解决方案1】:

tableData 不是一个对象,它是一个数组(我想它也是一个对象,但不是你想的那种)。添加任何内容就像使用 push 一样简单。

buttonAdd.addEventListener("click", function() {
    alert("clicked");
    tableData.push( {'value1': 3, 'value2': "Something new else", 'value3': 5} );
});

【讨论】:

    【解决方案2】:

    使用数组推送即可实现

     buttonAdd.addEventListener("click", function() {
            var tableData = [
                { value1: 1, value2: "Something", value3: 10 },
                { value1: 2, value2: "Something else", value3: 12 }
            ];
    
            tableDataObject={ value1: 3, value2: "Something new else", value3: 5 }
            tableData.push(tableDataObject);
    
            console.log(tableData);
    
        }
    

    【讨论】:

      猜你喜欢
      • 2010-12-17
      • 2016-02-11
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 2017-01-19
      相关资源
      最近更新 更多