我确实使用数据表,其中我已经声明了一些按钮来触发按钮用户按下的操作:
var dpcroles = $('#example_roles').DataTable( {
dom: 'Bfrtip',
"columnDefs": [
{
"targets": [0],
"visible": false
}
],
buttons: [
{
text: 'Add',
id: 'btn_add',
"data-action":'add',
action: function ( e, dt, node, config ) {
$('#modal_action').modal();
}
},
{
id: 'btn_edit',
text: 'Edit',
action: function ( e, dt, node, config ) {
var id = $(e.relatedTarget).data('id');
console.log(id);
$('#model_action').modal(id);
},
enabled: true
},
],
但是,如何传递处理模态开放的参数javascript?
$('#model_action').on('show.bs.modal', function(e) {
// if button 'edit', do something
.
.
// else if button 'add' do other thing
.
.
.
})
答案 0 :(得分:1)
您可以在调用data-
方法之前为模态设置modal()
属性。例如:
$('#modal_action').data('mode', 'edit');
$('#modal_action').modal();
然后在事件处理程序中,您可以检索数据。例如:
$('#modal_action').on('show.bs.modal', function(e) {
var $modal = $(this);
var mode = $modal.data('mode');
// if button 'edit', do something
if(mode === 'edit'){
// else if button 'add' do other thing
} else {
}
});
另一种解决方案是使用两种不同的模态,每种模式一种。
请注意,您的示例中可能拼错了模式的名称,它应该是modal_action
或model_action
。