为什么 Javascript 不同时执行两个操作?
Why doesn't Javascript perform two operations simultaneously?
为什么 Javascript 不同时执行两个操作?即行删除和行插入。
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;
}
上面给出的函数是在点击按钮时执行的。它可以工作,但我必须按两次按钮,即先删除行然后添加新行,但我希望它只需单击一下即可 'delete and add'。
你应该替换这个:
if(tookSum == true)
{
table.deleteRow(rowCount-1);
tookSum= false;
}
有了这个:
table.deleteRow(rowCount-1);
尽管 您的代码 并不清楚这一点,但 tookSum
的值应该 在第一次点击。因此,在第一次单击时,一行被删除并且 tookSum
值更新为 false。因此,您第二次单击 none 行将被删除并插入一个新行。我做这个假设是基于你声称是真的,当你点击你提到的按钮时,你需要点击和功能 alterTable
执行。
所有你需要做的,在从 table
中删除行之前检查是否 rowCount > 0
试试这个:
if(rowCount > 0)
{
table.deleteRow(rowCount-1);
}
在前面的回答中,如果 table 中没有行,那么 table.deleteRow(rowCount-1)
将不起作用,因此检查行数以确认 table 中有可用的行删除。
为什么 Javascript 不同时执行两个操作?即行删除和行插入。
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;
}
上面给出的函数是在点击按钮时执行的。它可以工作,但我必须按两次按钮,即先删除行然后添加新行,但我希望它只需单击一下即可 'delete and add'。
你应该替换这个:
if(tookSum == true)
{
table.deleteRow(rowCount-1);
tookSum= false;
}
有了这个:
table.deleteRow(rowCount-1);
尽管 您的代码 并不清楚这一点,但 tookSum
的值应该 在第一次点击。因此,在第一次单击时,一行被删除并且 tookSum
值更新为 false。因此,您第二次单击 none 行将被删除并插入一个新行。我做这个假设是基于你声称是真的,当你点击你提到的按钮时,你需要点击和功能 alterTable
执行。
所有你需要做的,在从 table
中删除行之前检查是否rowCount > 0
试试这个:
if(rowCount > 0)
{
table.deleteRow(rowCount-1);
}
在前面的回答中,如果 table 中没有行,那么 table.deleteRow(rowCount-1)
将不起作用,因此检查行数以确认 table 中有可用的行删除。