我有一个html表,其中包含数据库中的数据。
我想要的是从html表中删除一行,但不在数据库中删除。
在我的操作栏中,我在每一行都有一个删除按钮,如果我在该特定行上按删除该行应删除。
我想删除html表中的特定行,但不删除数据库中的实际数据。
脚本:
$(document).ready(function(){
$.ajax({
url: 'process.php',
type: 'post',
data: {tag: 'getData'},
dataType: 'json',
success: function(data){
if(data.success){
$.each(data, function(index, record){
if($.isNumeric(index)){
var row = $("<tr />");
$("<td />").text(record.name).appendTo(row);
$("<td />").text(record.age).appendTo(row);
$("<td />").text(record.gender).appendTo(row);
$("<td />").html(record.action).appendTo(row);
row.appendTo("#myTable2 tbody");
}
})
}
$('#myTable2').dataTable({
"bjQueryUI": true,
"sPaginationType": "full_numbers"
});
$("#myTable2 .dltRow").bind( "click", function(event) {
var target_row = $(this).closest("tr").get(0);
var aPos = oTable.fnGetPosition(target_row);
oTable.fnDeleteRow(aPos);
});
}
});
});
答案 0 :(得分:1)
当您引用刚刚创建的行时,在each
函数中绑定事件会更容易:
$.each(data, function(index, record){
if($.isNumeric(index)){
var row = $("<tr />");
$("<td />").text(record.name).appendTo(row);
$("<td />").text(record.age).appendTo(row);
$("<td />").text(record.gender).appendTo(row);
var $actionCell = $("<td />");
$actionCell.html(record.action)
$actionCell.find('.dltRow').on("click",
function() { row.remove(); });
$actionCell.appendTo(row);
row.appendTo("#myTable2 tbody");
}
})
或者您可以将其保留在bind
来电并在那里使用remove
方法:
$("#myTable2 .dltRow").bind( "click", function(event) {
$(this).closest("tr").remove();
});