我使用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。问题是,当我想删除行时,如何通过索引删除特定的行和弹出数据?提前谢谢。
答案 0 :(得分:1)
使用jQuery#eq(index)
方法选择第n个表行并将其删除。
使用Array#splice(index, deleteCount)
删除filemanager.data
数组中的第n个元素(我假设这是一个数组,只要您调用filemanager.data.push
)。
splice
也会返回一个包含已删除元素的数组,并且由于您只删除了一个元素,因此您可以通过访问该数组上的索引零来获取原始数据。
function popData (index) {
$('#sharedFolder tr').eq(index).remove()
return filemanager.data.splice(index, 1)[0]
}