Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datatables 如何在datatable中正确使用select2_Datatables_Jquery Select2 - Fatal编程技术网

Datatables 如何在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

我在datatable服务器端使用select2 multiple select。它工作正常。但当我在datatable中使用默认搜索时,select2无法正常工作。当我调整浏览器窗口的大小时,它正在工作。这是我的代码

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()
和datatable
draw()
方法,但它不起作用。我怎样才能解决这个问题