如何使用按钮将数据添加到数组

时间:2019-06-18 08:53:42

标签: javascript arrays

我想每次按添加行按钮将数据添加到ajax_data中。显然,该代码在不是函数时可以工作,但是如何使它作为函数工作呢?

新鲜的JS程序员。

var ajax_data = [{
  Type: "Analog Input 0",
  Tag: "AI0",
  Description: "Description"
}, ]
var new_row = {
  Type: "Analog Input 2",
  Tag: "AI2",
  Description: "Description"
}

$("Add_row").click(function(ajax_data, new_row) {
  ajax_data.push(new_row);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="button" class="btn btn-primary" id="Add_row" name="button">Add row</button>

1 个答案:

答案 0 :(得分:0)

$("#Add_row").click函数中,您拥有ajax_datanew_row作为参数名称。同时,您也将变量定义为相同的外部名称。如果在函数内部引用ajax_datanew_row,则JavaScript将检索参数,而不是在外部定义的变量。它们是未定义的,因为调用该函数时未传递任何内容。删除它们,它应该可以工作。

另外,我推荐retiring the use of var in Javascript and use let/ const.

let ajax_data = [{
  Type: "Analog Input 0",
  Tag: "AI0",
  Description: "Description"
}, ]
let new_row = {
  Type: "Analog Input 2",
  Tag: "AI2",
  Description: "Description"
}

$("#Add_row").click(() => {
  ajax_data.push(new_row);
  console.log(ajax_data);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button type="button" class="btn btn-primary" id="Add_row" name="button">Add row</button>