Datatables 如何在datatable中正确使用select2
我在datatable服务器端使用select2 multiple select。它工作正常。但当我在datatable中使用默认搜索时,select2无法正常工作。当我调整浏览器窗口的大小时,它正在工作。这是我的代码Datatables 如何在datatable中正确使用select2,datatables,jquery-select2,Datatables,Jquery Select2,我在datatable服务器端使用select2 multiple select。它工作正常。但当我在datatable中使用默认搜索时,select2无法正常工作。当我调整浏览器窗口的大小时,它正在工作。这是我的代码 let formSz = 'from_date=' + from_date + '&to_date=' + to_date; $('#list_report').DataTable({ deferRender: true, serverS
let formSz = 'from_date=' + from_date + '&to_date=' + to_date;
$('#list_report').DataTable({
deferRender: true,
serverSide: true,
pageLength: 50,
dom: 'lifrtip',
scrollX:true,
paging: true,
ajax: {
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
url: 'vehicle-datatable-serialize',
type: "POST",
data:{"data":formSz}
},
fnCreatedRow: function (nRow, aData, iDataIndex) {
$(nRow).attr('id', aData['vehicle_id']);
},
columns:
[
{data: 'site', name: 'site'},
{data: 'status', name: 'status'},
{
"mRender": function (data, group, full, meta) {
$data = [
{id: 'No Issues', text: 'No Issues', title: 'No Issues'},
{id: 'Oil Bleeding', text: 'OB', title: 'Oil Bleeding'},
];
let select2Id = "select2"+full['vehicle_id'];
let select2Array=[];
$('#' + select2Id).select2({
data: $data
});
var obj = (full['won_translate']);
if (obj.includes(','))
{
select2Array = obj.split(',');
}
else{
select2Array = [];
}
let select2Element = '<select id="'+select2Id+'" class="input-inline wonTranslateList won_translate" name="won_translate[]" multiple="multiple"></select>';
$('#' + select2Id).val(select2Array);
return select2Element;
}
},
],
"drawCallback": function (settings) {
var api = new $.fn.dataTable.Api( settings );
var won = separatedReport.includes("won-edit") ? true : false;
if(!won) {
api.columns([1]).visible(won);
}
var hideP = separatedReport.includes("hide-price") ? false : true;
if(!hideP) {
api.columns([2]).visible(hideP);
}
$('.wonTranslateList').select2({
placeholder:'Select options'
});
}
});
tblListWonReport.draw();
$('#list_won_report').dataTable().fnAdjustColumnSizing();
}
让formSz='from_date='+from_date+'&to_date='+to_date;
$(“#列表"报告”)。数据表({
是的,
服务器端:是的,
页长:50,
dom:'lifrtip',
是的,
是的,
阿贾克斯:{
标题:{'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]')。attr('content')},
url:“车辆数据表序列化”,
类型:“POST”,
数据:{“数据”:formSz}
},
fnCreatedRow:函数(nRow、aData、iDataIndex){
$(nRow).attr('id',aData['vehicle_id');
},
柱:
[
{数据:'site',名称:'site'},
{数据:'status',名称:'status'},
{
“mRender”:功能(数据、组、完整、元){
$data=[
{id:'无问题',文本:'无问题',标题:'无问题'},
{id:'漏油',文本:'OB',标题:'漏油'},
];
让select2Id=“select2”+完整['vehicle_id'];
让我们选择2Array=[];
$('#'+select2Id)。选择2({
数据:$数据
});
var obj=(完整['won_translate']);
if(对象包括(','))
{
选择2Array=obj.split(',');
}
否则{
选择2Array=[];
}
让我们选择2element='';
$('#'+select2Id).val(select2Array);
返回select2Element;
}
},
],
“drawCallback”:函数(设置){
var api=new$.fn.dataTable.api(设置);
var-won=separatedReport.includes(“won-edit”)?真:假;
如果(!赢){
api.列([1])。可见(韩元);
}
var hideP=分离报告包括(“隐藏价格”)?false:true;
如果(!hideP){
api.可见列([2])(hideP);
}
$('.wonteransaleList')。选择2({
占位符:“选择选项”
});
}
});
tbllistwnreport.draw();
$(“#列表"报告”).dataTable().fnAdjustColumnShizing();
}
我试过使用$('#list_won_report').dataTable().fnAdjustColumnshizing()
和datatabledraw()
方法,但它不起作用。我怎样才能解决这个问题