Jquery 尝试设置类时无法重新初始化DataTable错误

Jquery 尝试设置类时无法重新初始化DataTable错误,jquery,datatable,datatables,Jquery,Datatable,Datatables,我正在开发一个程序,在这个程序中,单击一个选项卡,我检索数据并填充数据表 因此,单击此项后,我调用getOutPutData函数,该函数进入我的控制器,然后填充ID为tblStock的数据表 <li class="nav-item"> <a class="nav-link" href="#wizard-simple-step3" data-toggle="tab" onclick="getOutPutData();">3. Extra</a>

我正在开发一个程序,在这个程序中,单击一个选项卡,我检索数据并填充数据表

因此,单击此项后,我调用getOutPutData函数,该函数进入我的控制器,然后填充ID为tblStock的数据表

<li class="nav-item">
        <a class="nav-link" href="#wizard-simple-step3" data-toggle="tab" onclick="getOutPutData();">3. Extra</a>
</li>
  • //功能如下

        var isFirst = true;
        console.log(isFirst);
        function getOutPutData() {
            console.log(isFirst);
            if ($("#id").val() == null || $("#id").val().toString().length <= 0 || parseInt($("#id").val()) <= 0) {
            jAlert("Please Save Tab Details First!!!");
        }
            else {
                if (isFirst) {
                    $('#tblStock').DataTable({
                        "ajax": {
                            "url": "@Url.Action("getOutPutData", "PSIPDetails")",
                            "data": { "id": $('#id').val() },
                            "type": "POST"
                        }
                    });
    
                 //   getOutComeData();
    
                } 
                  isFirst = false; 
            }
        }
    
    var isFirst=true;
    console.log(isFirst);
    函数getOutPutData(){
    console.log(isFirst);
    if($(“#id”).val()==null(“#id”).val().toString().length初始化数据表一次
    此代码块:

    let myDatatable = $('#tblStock').DataTable({
        "ajax": {
            "url": "@Url.Action("getOutPutData", "PSIPDetails")",
            "data": { "id": $('#id').val() },
            "type": "POST"
        }
    });
    
    …需要在调用
    getOutPutData()
    函数之前初始化,以避免多次初始化数据表

    然后使用以下命令替换此代码:

    你可能需要调整一下,但这是你应该走的路的开始


    向Datatable添加一个类 如果通过HTML添加的类在datatable初始化后不是持久性的,则可以在初始化后添加这些类

    ,在放置ID时,只需使用jQuery选择它就可以直接工作: (如果没有,请告诉我)

    初始化数据表一次 此代码块:

    let myDatatable = $('#tblStock').DataTable({
        "ajax": {
            "url": "@Url.Action("getOutPutData", "PSIPDetails")",
            "data": { "id": $('#id').val() },
            "type": "POST"
        }
    });
    
    …需要在调用
    getOutPutData()
    函数之前初始化,以避免多次初始化数据表

    然后使用以下命令替换此代码:

    你可能需要调整一下,但这是你应该走的路的开始


    向Datatable添加一个类 如果通过HTML添加的类在datatable初始化后不是持久性的,则可以在初始化后添加这些类

    ,在放置ID时,只需使用jQuery选择它就可以直接工作: (如果没有,请告诉我)


    在函数
    getOutPutData()
    中,这段代码
    $('#tblStock').DataTable({
    正在
    tblStock
    DOM元素上实例化一个DataTable,我假定它是一个表。基本上,您的问题是调用
    getOutPutData()
    多次或多次触发单击。@bassxzero我在函数
    getOutPutData()
    这段代码
    $('#tblStock').DataTable中添加了一个检查来处理该问题({
    正在
    tblStock
    DOM元素上实例化一个datatable,我假设它是一个表。基本上,您的问题是调用
    getOutPutData()
    多次或多次触发单击。@bassxzero我添加了一个检查来处理该问题,我添加了一个检查来处理该问题,以避免双重初始化。但是我的查询仍然存在,关于如何将类添加到表中。已编辑。没有看到该问题!最后一段。我添加了一个检查来处理该问题,以避免双重初始化初始化。但是我关于如何将类添加到表中的查询仍然存在。已编辑。没有看到该问题!最后一段。
    let myDatatable = $('#tblStock').DataTable({
        "ajax": {
            "url": "@Url.Action("getOutPutData", "PSIPDetails")",
            "data": { "id": $('#id').val() },
            "type": "POST"
        }
    });
    
    myDatatable.ajax.reload();
    
    // After datatable initialization
    $(myDatatable.table().container()).addClass('firstClass secondClass');
    
    $('#tblStock').addClass('firstClass secondClass');