Jquery plugins 与'有关的问题;数据表';jquery插件和两个表(与ajax相关)

Jquery plugins 与'有关的问题;数据表';jquery插件和两个表(与ajax相关),jquery-plugins,jquery,datatables,Jquery Plugins,Jquery,Datatables,我有两个选项卡,它们的内容通过ajax加载。两者的内容都有一个表。我想将“datatable”jquery插件应用于这两个表。表具有相同的id,因为它们是由函数创建的。但它们的行不同 datatable插件很好地应用于第一个选项卡表,但在第二个选项卡上给出以下错误: "DataTables warning (table id = 'dttable'): Cannot reinitialise DataTable. 若要检索此表的DataTables对象,请不向dataTable()函数传递任何

我有两个选项卡,它们的内容通过ajax加载。两者的内容都有一个表。我想将“datatable”jquery插件应用于这两个表。表具有相同的id,因为它们是由函数创建的。但它们的行不同

datatable插件很好地应用于第一个选项卡表,但在第二个选项卡上给出以下错误:

"DataTables warning (table id = 'dttable'): Cannot reinitialise DataTable.
若要检索此表的DataTables对象,请不向dataTable()函数传递任何参数,或将BRETRIVE设置为true。或者,要销毁旧表并创建一个新表,请将bDestroy设置为true(请注意,可以通过API对配置进行许多更改,这通常要快得多)。”

我在datatable plugin define中使用了“bDestroy”:true。但这样,插件就不会显示在第二个表中


您能帮我吗?

为什么不用类名而不是ID来设置数据表,这样它就可以应用于这两个表了


在检索数据时,您可以使用类似$('.dataTableStyle').eq(1)的东西从相关数据中获取信息。

为什么不按类名而不是ID设置数据表,然后它可以应用于这两个数据表


检索数据时,可以使用类似$('.dataTableStyle').eq(1)的内容从相关表中获取信息。

您的问题是两个表具有相同的ID,这是无效的HTML。当您尝试初始化第二个数据表时,选择器只会找到第一个表,然后再次尝试初始化第一个表上的数据表,这将导致您收到的错误


您需要更改函数以创建具有唯一ID的每个表,并通过其各自的ID初始化每个表。

您的问题是两个表具有相同的ID,这是无效的HTML。当您尝试初始化第二个数据表时,选择器只会找到第一个表并再次尝试初始化第一个表上的数据表在中,这将导致您得到的错误


您需要更改函数以创建具有唯一ID的每个表,并通过其各自的ID初始化每个表。

我正在使用mvc3,我的问题是在视图中初始化一个数据表,然后用另一个数据表呈现部分视图。问题不在于这两个表的ID,而在于呈现部分视图的方式在框架中。在我的情况下,我必须将脚本或对脚本的引用移动到承载部分视图的视图中。我在使用Google Maps api时遇到了类似的问题。

我在使用mvc3,我的问题是初始化视图中的数据表,然后使用另一个数据表呈现部分视图。问题不在id中这是两个表中的一个,但部分视图在框架中呈现的方式不同。在我的情况下,我必须将脚本或对脚本的引用移动到承载部分视图的视图中。我在使用Google Maps api时遇到了类似的问题。

尝试此代码

$(document).ready(function() {
         oTable = $('#DataTables_Table_0').dataTable({   //DataTables_Table_0 <-------table id
                iVote: -1,   //your field name 
                "bRetrieve":true
            });

        oTable.fnSort( [ [1,'desc'] ] );
     });
$(文档).ready(函数(){
oTable=$('#DataTables_Table_0')。dataTable({//DataTables_Table_0请尝试以下代码

$(document).ready(function() {
         oTable = $('#DataTables_Table_0').dataTable({   //DataTables_Table_0 <-------table id
                iVote: -1,   //your field name 
                "bRetrieve":true
            });

        oTable.fnSort( [ [1,'desc'] ] );
     });
$(文档).ready(函数(){

oTable=$('#DataTables_Table_0')。dataTable({//DataTables_Table_0在更改表数据时在函数事件中使用此选项

$('#tbl_resultates').dataTable().fnDestroy();

"bRetrieve": true,


当您要更改表数据时,在事件中使用此函数

$('#tbl_resultates').dataTable().fnDestroy();

"bRetrieve": true,


我尝试使用class而不是id,但两者都没有发生任何变化。插件不适用于它们中的任何一个。这可能是因为您的选项卡设置。请阅读Jquery文档中关于使选项卡脱离屏幕的内容(例如-2000px)而不是display=none,因为在使用默认选项卡设置时,很多元素都不起作用。我尝试使用class而不是id,但两者都没有发生任何变化。插件不适用于它们中的任何一个。这可能是因为您的选项卡设置。请阅读Jquery文档中有关使选项卡脱离屏幕的内容(例如-2000px)而不是display=none,因为在使用默认选项卡设置时,许多元素不起作用。