删除带索引的动态表

时间:2016-12-11 07:03:17

标签: javascript jquery laravel

我使用html和javascript创建了一个动态表。

$('#btn-add-share').click(function (){
    if($('#ddlDepartment option:selected').val() == 0){
            alert('Please Input Department');
    }else{
            var lastArray = filemanager.data.length;
            var currId = lastArray;
            currId++;
        filemanager.data.push({
            id: currId,
            department:$('#ddlDepartment').val(),
            city:$('#ddlCity').val(),
            province:$('#ddlProvince').val(),
            position:$('#ddlPosition').val(),
        });
        $('#sharedFolder tbody').append("<tr><td>"+currId+"</td><td>"+$('#ddlDepartment option:selected').text()+"</td><td>"+$('#ddlProvince option:selected').text()+"</td><td>"+$('#ddlCity option:selected').text()+"</td><td>"+$('#ddlPosition option:selected').text()+"</td> <td class='text-center'> <button type='button' class='btn btn-danger btn-xs btn-delete' id='btn-delete'><span class='glyphicon glyphicon-remove'></span> Del</button></td></tr>");
    }
}
);

因此,每次添加行时,输入都将传递到filemanager.data。问题是,当我想删除行时,如何通过索引删除特定的行和弹出数据?提前谢谢。

1 个答案:

答案 0 :(得分:1)

  • 使用jQuery#eq(index)方法选择第n个表行并将其删除。

  • 使用Array#splice(index, deleteCount)删除filemanager.data数组中的第n个元素(我假设这是一个数组,只要您调用filemanager.data.push)。

  • splice也会返回一个包含已删除元素的数组,并且由于您只删除了一个元素,因此您可以通过访问该数组上的索引零来获取原始数据。

    < / LI>
function popData (index) {
    $('#sharedFolder tr').eq(index).remove()
    return filemanager.data.splice(index, 1)[0]
}