所以我想向DataTable添加一个按钮,该按钮应该从数据库中删除一个帐户,我正在使用,节点js,expresjs(whit html引擎)和mongoose 这是我的模特
const Account = new Schema({
username: String,
names: {type:String,default:""},
lastnames: {type:String,default:""},
password: String,
email: String,
phone: String,
suspended: {type: Boolean, default: false},
type: { type: String, enum: TIPOS_USUARIO, default: 'dev' },
lastlogin: 'moment'
});
这是html上的脚本,它生成一个DataTable和按钮
$(document).ready(function() {
var table = $('#example').DataTable( {
"ajax": "/adminpanel/webapi/userlist",
"columns": [
{ "data": "username" },
{ "data": "names" },
{ "data": "lastnames" },
{ "data": "phone" },
{ "data": "email" },
{ "data": "suspended" },
{ "defaultContent": "<button>Delete!</button>"},
],
});
$('#example tbody').on( 'click', 'button', function () {
alert( "You are about to delete an user");
var data = table.row( $(this).parents('tr') ).data();
table.row('.selected').remove().draw( true );
});
});
但它会生成按钮和警告消息,它不会从数据库中删除帐户,也不会删除DataTable
答案 0 :(得分:0)
.selected
。因此,将table.row('.selected').remove().draw( true );
更改为tr,就像数据一样。
table.row($(this).closest('tr')).remove().draw()
要更新数据库,您需要进行ajax调用并处理用户ID和查询以删除它。
$('#example tbody').on('click', 'button', function() {
alert("You are about to delete an user");
var data = table.row($(this).closest('tr')).data();
//Do ajax call to delete from database.
table.row($(this).closest('tr')).remove().draw();
});
&#13;