如何使我的数组再次为空并可重复用于我的编辑文本功能

问题描述 投票:0回答:2

这里是新手..我正在制作一个费用票据应用程序(只是一个菜鸟应用程序)。我有这个按钮功能,当我选择一个表格行时..它将被删除,并且表格行输入文本值将返回到输入栏文本区域(名称,日期,金额,备注)。当它工作时我很高兴。

但它只能工作一次。

因为当我选择不同的表格行数据时。它将被删除,但相同的“第一个输入数据值”将始终返回到输入文本栏..

似乎第一个表数据被保存在空数组函数中,可以再次重复使用。我希望的是,当我使用空数组函数时,它将再次为空,以便在另一个不同的表行数据中使用。

我正在使用数组方法,但失败了或者我的 If 语句是错误的。希望你能回答这个问题:)谢谢

document
  .getElementById("editSelection")
  .addEventListener("click", editSelection);

function editSelection() {
  var editName = [];
  var editDate = [];
  var editAmount = [];
  var editRemarks = [];

  let selectedRows = document.getElementsByClassName("selected-row ");
  while (selectedRows.length > 0) {
    editName.push(cell0.innerText);
    editDate.push(cell1.innerText);
    editAmount.push(cell2.innerText);
    editRemarks.push(cell3.innerText);

    selectedRows[0].parentNode.removeChild(selectedRows[0]);

    var name = document.getElementById("inputName");
    name.value = editName.join("\n");

    var date = document.getElementById("inputDate");
    date.value = editDate.join("\n");

    var amount = document.getElementById("inputAmount");
    amount.value = editAmount.join("\n");

    var remarks = document.getElementById("inputRemarks");
    remarks.value = editRemarks.join("\n");
  }

  if (name || date || amount || remarks) {
    editName.splice([0], editName.length);
    editDate.splice([0], editDate.length);
    editAmount.splice([0], editAmount.length);
    editRemarks.splice([0], editRemarks.length);
  }
}

javascript arrays function row reusability
2个回答
1
投票

如果你定义了一个空数组

var editName = [];

并用您可以再次清空它的值填充它

editName = [];

0
投票

使用常量:

const myArr = [1,2,3,4];
const newDatta = [5,6,7,8];
myArr.splice(0,myArr.length, newData);
console.log(myArr);
© www.soinside.com 2019 - 2024. All rights reserved.