bootstrap+datatable实现datatable之切换tab

bootstrap+datatable实现datatable之切换tab

前言

新手完成,内容比较简单,但是解决了一些小问题可以参考参考。
提示:以下是本篇文章正文内容,下面案例可供参考

导入的js可以参考下面提供的参考文件,我的JS引入很多参考价值不大。
下面提供主要的代码

view部分(主要部分)

@csrf_exempt
def Status_wait(request):
    if request.method == "POST":
        status = request.POST.get("status")
        print(status)
        list=[]
        data_list = {}
        if status == '0':
            Orders = OrdersList.objects.filter(listState_id='1').all()
            for order in Orders:
                list.append({"orderId": order.orderID,
                             "name": order.orderClient.clientName,
                             "serialNumber": order.orderSerialNum,
                             "orderTime": order.orderingTime.strftime("%Y-%m-%d %H:%M:%S"),
                             "endTime": order.serviceDate.strftime("%Y-%m-%d"),
                             "status": order.listState.state,})

            data_list['data'] = list
            print(json.dumps(data_list))
            return HttpResponse(json.dumps(data_list))
    return HttpResponse(json.dumps(data_list))

js部分,因为我的几个tab都是一样的内容所以我只调用了一个datatable
建议ajax传值datatype为json的时候,能转json还是转一下,不然传不过去的
因为datatables不允许多次初始化某一表格
所以建议加上
destory:true,
retrieve: true,表示我已经知道初始化选项不能在初始化之后更改,只是希望返回DataTable实例(这部分报错具体信息可以参考下面链接)
如果有返回回来有空值,需要在”columns”的data下面加上”defaultContent”: “”不然会报错。

$(function (){
            initData()
            $('.nav-tabs li').on('click',function(){
                setTimeout(initData, 50);
                initData()
        });
        });
#用于判断li是否是被点击的状态
        function initData(){
            var len = $("ul li[class=nav-item]").length
            var index
            for(var i=0 ;i<len;i++) { if ($("li[class="nav-item]:eq("+i+")"> a").attr("aria-selected") == 'true') {
                        index = i;
                        console.log(index)
                        messageinfo(index);
                }
            }
        }

        function messageinfo(value){
            $("#datatable"+value).addClass("data-table table hover multiple-select-row nowrap")
            table = $("#datatable"+value).dataTable({
                "ajax": {
                    url: "/wait/",
                    type: 'POST',
                    data: {
                        status: parseInt(value)
                    },
                },
                destory:true,
                retrieve:true,
                "oLanguage": {
                    oAria: {
                        sSortAscending: ": activate to sort column ascending",
                        sSortDescending: ": activate to sort column descending"
                    },
                    oPaginate: {
                        sFirst: "&#x9996;&#x9875;",
                        sLast: "&#x672B;&#x9875;",
                        sNext: "&#x4E0B;&#x4E00;&#x9875;",
                        sPrevious: "&#x4E0A;&#x4E00;&#x9875;"
                    },
                    sEmptyTable: "&#x8BE5;&#x8868;&#x6CA1;&#x6709;&#x6570;&#x636E;",
                    sInfo: "&#x4ECE; _START_ &#x5230; _END_ &#x5171; _TOTAL_ ",
                    sInfoEmpty: "&#x4ECE; 0 &#x5230; 0 &#x5171; 0 &#x6761;",
                    sInfoFiltered: "(&#x4ECE; _MAX_ &#x6761;&#x4E2D;&#x8FC7;&#x6EE4;)",
                    sInfoPostFix: "",
                    sDecimal: "",
                    sThousands: ",",
                    sLengthMenu: "&#x4E00;&#x9875; _MENU_ &#x6761;",
                    sLoadingRecords: "&#x52A0;&#x8F7D;&#x4E2D;...",
                    sProcessing: "&#x5904;&#x7406;&#x4E2D;...",
                    sSearch: "&#x641C;&#x7D22;:",
                    sSearchPlaceholder: "",
                    sUrl: "",
                    sZeroRecords: "&#x6CA1;&#x6709;&#x5339;&#x914D;&#x7684;&#x4FE1;&#x606F;"
        },

                "columns": [
                    {
                    &#x6839;&#x636E;&#x4F60;&#x7684;&#x9700;&#x6C42;&#x5199;&#x5C31;&#x597D;
                   }
                    {
                        "data":null,
                        "defaultContent": "<div class="dropdown">"+
                            "<a class="btn btn-link font-24 p-0 line-height-1 no-arrow dropdown-toggle" href="#" role="button" data-toggle="dropdown">"
                            +""+"</a>"+
                            "<div class="dropdown-menu dropdown-menu-right dropdown-menu-icon-list">"+
                            "<a class="dropdown-item" href="#"> &#x67E5;&#x770B;</a>"+
                            "<a class="dropdown-item" href="#"> &#x4FEE;&#x6539;</a>"+
                            "<a class="dropdown-item" href="#"> &#x5220;&#x9664;</a></div></div>"

                    }
                ]
            });
    }
</len;i++)>

html部分
根据需要写就是了,因为我加了样式,出来结果应该和我不一样

<div class="tab">
                                <ul class="nav nav-tabs" role="tablist">
                                    <li class="nav-item">
                                        <a class="nav-link active text-blue" data-toggle="tab" href="#checked" role="tab" aria-selected="true">&#x786E;&#x8BA4;&#x8BA2;&#x5355;</a>
                                    </li>
                                    <li class="nav-item">
                                        <a class="nav-link text-blue" data-toggle="tab" href="#delivered" role="tab" aria-selected="false">&#x8BA2;&#x5355;&#x53D1;&#x8D27;</a>
                                    </li>
                                    ......
                                </ul>
                                <div class="tab-content">
                                    <div class="tab-pane fade show active" id="checked" role="tabpanel">
                                        <div class="pd-20">
                                            <table id="datatable0">
                                                <thead>
                                                <tr>
                                                <th>&#x8BA2;&#x5355;&#x7F16;&#x53F7;</th>
                                                <th>&#x5BA2;&#x6237;&#x540D;&#x79F0;</th>
                                                <th>&#x8BA2;&#x5355;&#x6D41;&#x6C34;&#x53F7;</th>
                                                <th>&#x4E0B;&#x5355;&#x65E5;&#x671F;</th>
                                                <th>&#x4EA4;&#x8D27;&#x65E5;&#x671F;</th>
                                                <th>&#x8BA2;&#x5355;&#x72B6;&#x6001;</th>
                                                <th>&#x64CD;&#x4F5C;</th>
                                                </tr>
                                                </thead>
                                            </table>
                                        </div>
                                    </div>
                                    <div class="tab-pane fade" id="delivered" role="tabpanel">
                                        <div class="pd-20">
                                            <table id="datatable1">
                                                <thead>
                                                <tr>
                                                <th>&#x8BA2;&#x5355;&#x7F16;&#x53F7;</th>
                                                <th>&#x5BA2;&#x6237;&#x540D;&#x79F0;</th>
                                                <th>&#x8BA2;&#x5355;&#x6D41;&#x6C34;&#x53F7;</th>
                                                <th>&#x4E0B;&#x5355;&#x65E5;&#x671F;</th>
                                                <th>&#x4EA4;&#x8D27;&#x65E5;&#x671F;</th>
                                                <th>&#x8BA2;&#x5355;&#x72B6;&#x6001;</th>
                                                <th>&#x64CD;&#x4F5C;</th>
                                                </tr>
                                                </thead>
                                            </table>
                                        </div>
                                    </div>
                        </div>
        &#x540E;&#x9762;&#x53EF;&#x4EE5;&#x6309;&#x7167;&#x8FD9;&#x6837;&#x52A0;table
</div>

最后成果就是这样了

bootstrap+datatable实现datatable之切换tab

Original: https://blog.csdn.net/Q1070999087/article/details/121896058
Author: 白日梦想家.。
Title: bootstrap+datatable实现datatable之切换tab

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/734472/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球