为什么javascript不能同时执行2个操作?即行删除和行插入。
var tookSum= false;
function alterTable()
{
//Textboxes code
var tBoxCompany= document.getElementById("txtboxCompany");
var tBoxAmount= document.getElementById("txtboxAmount");
//table code
var table= document.getElementById("tableNetWorths");
var rowCount= table.rows.length;
if(tookSum == true)
{
table.deleteRow(rowCount-1);
tookSum= false;
}
var row= table.insertRow(rowCount);
var Cell1= row.insertCell(0);
var Cell2= row.insertCell(1);
Cell1.innerHTML= tBoxCompany.value;
Cell2.innerHTML= tBoxAmount.value;
}
按钮点击后执行上述功能。它工作但我必须按2次按钮,即第一次删除行,然后添加一个新行,但我希望它删除并添加'只需点击一下。
答案 0 :(得分:1)
你应该替换它:
if(tookSum == true)
{
table.deleteRow(rowCount-1);
tookSum= false;
}
用这个:
table.deleteRow(rowCount-1);
尽管对您的代码不明确,但tookSum
的值在第一次点击时应为为真。因此,在第一次单击时,将删除一行,并将tookSum
值更新为false。因此,第二次单击无行将被删除,并且将插入新行。我做了这个假设是基于你声称是真的,当你点击你提到的按钮时,你需要点击并执行alterTable
功能。
答案 1 :(得分:1)
您需要做的一切,在从表
中删除行之前检查是否rowCount > 0
试试这个:
if(rowCount > 0)
{
table.deleteRow(rowCount-1);
}
在前面的答案中,如果表中没有行,则table.deleteRow(rowCount-1)
将不起作用,因此请检查行计数以确认表中有可用的行要删除。