我在将ID变量传递给Datatable init函数时遇到问题。我想要的是:
按压链接
<a href="#" data-id="' + data.id + '" data-toggle="modal" data-target="#ipvpn_show_members">Show</a>
模式窗口正在打开,我有数据表。我想把data-id
的数据传递给ajax.data
。我试着这样做:
"data": function ( d ){
d.id = $(this).data('id');
}
运气不佳。
这是初始化数据表的Jquery代码
var member_table = $('#member_table').DataTable({
"processing": true,
"bFilter": false,
"bPaginate": false,
"bSort" : false,
"bInfo" : false,
"ajax": {
"url": "/get_member_data",
"dataType": "json",
"dataSrc": "data",
"contentType": "application/json",
"data": function ( d ){
d.id = $(this).data('id');
}
},
"columns": [
{"data": "vrf_name"},
{"data": "primary_rt"},
{"data": "ipvpn_rt"},
]
});
通过在id var初始化后重新加载ajax解决
$('#ipvpn_show_members').on('show.bs.modal', function(e) {
var data = $(e.relatedTarget).data();
member_table.ajax.url("get_member_data?id="+data.id).load();
});
在链接中添加一个类以生成动态函数
<a href="#" data-id="' + data.id + '" data-toggle="modal" data-target="#ipvpn_show_members" class="my_modal">Show</a>
在模式显示中添加一个事件
$(document).on('show.bs.modal', '.my_modal', function (e) {
let id = $(this).data('id');
// here is your datatable code and use id in ajax
});
附言:如果模型没有出现,你可以使用$('#ipvpn_show_members'(.modal('show'(手动触发它