在按钮上单击从数据表和数组中删除

时间:2014-11-25 08:56:35

标签: javascript jquery

我表格中的foreach行我有一个删除按钮,点击此按钮我有以下功能:

function deleteBussDay(jQtable)
{
    var row = jQtable.parentNode.parentNode;
    $(jQtable).closest('tr').remove();
    openHour.splice(row.rowIndex,1);
    // openHour is my array ,which i also want to delete from 
}

这段代码的问题在点击删除时会删除表中的corret行,但它会删除数组中的错误行。 (所选行的上方一个) 我该如何解决?!

2 个答案:

答案 0 :(得分:1)

如果像你说的那样删除了正确的行,那么你可以在这里对表格行进行正确的遍历:

$(jQtable).closest('tr').remove();

意思是,要获取表行的rowIndex属性,我们可以将同一个jQuery对象与.prop()一起使用:

function deleteBussDay(jQtable) {
    var $row = $(jQtable).closest('tr'), rowInd = $row.prop('rowIndex');
    $row.remove();
    openHour.splice(rowInd ,1);
}

答案 1 :(得分:0)

每个表计算

'rowIndex'。 排序表时'rowIndex'已更改。 作为替代方案,您可以使用某些“数据”属性作为标记。

function deleteBussDay(jQtable)
{
    var row = $(jQtable).closest('tr');
    var id = row.data('rowIndex');
    row.remove();
    openHour.splice(id, 1);
    // openHour is my array ,which i also want to delete from 
}

function deleteBussDay(jQtable)
{
    var row = jQtable.parentNode.parentNode;
    var id = row.rowIndex;
    $(row).remove();
    openHour.splice(id, 1);
    // openHour is my array ,which i also want to delete from 
}