0
<script type="text/javascript" charset="utf-8">
//initialisation code
    $(document).ready(function() {
        $('#example').dataTable( {
             "sPaginationType": "full_numbers",



        } );
    } );

    var asInitVals = new Array();

    $(document).ready(function() {

        $("tfoot input").each( function (i) {
            asInitVals[i] = this.value;
        } );


        $("tfoot input").focus( function () {
            if ( this.className == "search_init" )
            {
                this.className = "";
                this.value = "";
            }
        } );
        $("tfoot input").blur( function (i) {
            if ( this.value == "" )
            {
                this.className = "search_init";
                this.value = asInitVals[$("tfoot input").index(this)];
            }
        } );

        var oTable = $('.exam').dataTable( {
            "oLanguage": {
                "sSearch": "Search all columns:"
            },
            "bStateSave": true,
            "fnInitComplete": function() {
                var oSettings = $('.exam').dataTable().fnSettings();
                for ( var i=0 ; i<oSettings.aoPreSearchCols.length ; i++ ){
                    if(oSettings.aoPreSearchCols[i].sSearch.length>0){
                        $("tfoot input")[i].value = oSettings.aoPreSearchCols[i].sSearch;
                        $("tfoot input")[i].className = "";
                    }
                }
            }
        } );

        $("tfoot input").keyup( function () {
            /* Filter on the column (the index) of this element */
            oTable.fnFilter( this.value, $("tfoot input").index(this) );
        } );

    } );
</script>

</head>

<body>

<table id="example" class = "exam" width="100%" border="1" cellpadding="0" cellspacing="0" class="pretty" align="center">

我是 jquery 编程的新手。当我在浏览器中查看表格时,我看到了错误:

数据表警告(表 id = 'example'):无法重新初始化数据表。要检索此表的数据表对象,请不传递任何参数或查看 bRetrieve 和 bDestroy 的文档

如何解决这个问题呢??

4

1 回答 1

0

您正在尝试两次初始化同一个表。首先你正在运行

 $(document).ready(function() {
    $('#example').dataTable( {
         "sPaginationType": "full_numbers",



    } );
} );

正在尝试使用示例 ID 初始化表上的数据表。然后你尝试在这里再次初始化它:

var oTable = $('.exam').dataTable( {
        "oLanguage": {
            "sSearch": "Search all columns:"
        },
        "bStateSave": true,
        "fnInitComplete": function() {
            var oSettings = $('.exam').dataTable().fnSettings();
            for ( var i=0 ; i<oSettings.aoPreSearchCols.length ; i++ ){
                if(oSettings.aoPreSearchCols[i].sSearch.length>0){
                    $("tfoot input")[i].value = oSettings.aoPreSearchCols[i].sSearch;
                    $("tfoot input")[i].className = "";
                }
            }
        }
    } );

在这里,您正在初始化一个包含考试类别的表格。在这种情况下,带有班级考试的表和示例的 ID 是同一个表。错误基本上是在说,嘿我已经初始化了这个表一次,我不能再做一次。

删除第一块代码,它应该可以解决您的问题。

于 2012-06-01T15:52:44.230 回答