dataTable(class?)带来了一些奇怪的问题

时间:2012-08-22 22:15:54

标签: javascript jquery css datatables

我会尝试尽我所能解释,如果您需要其他信息,请与我们联系。

我正在使用一个模板,其中数据表的定义如下:

<table id="id_table" class='table table-striped dataTable table-bordered'>

当数据就在那里时,它产生了一个很好的表。但是,当尝试通过ajax填充数据时,我收到以下错误:

DataTables warning (table id = 'id_table'): Requested unknown parameter '1' from the data source for row 0

我确认php文件没有任何问题。如果我从表类中删除了&#39; dataTable&#39;部分,我得到的数据没有错误,但风格受到影响,表格看起来很糟糕。也就是说,保留表的定义如下:

table id="id_table" class='table table-striped table-bordered'>

(请注意&#39; dataTable&#39;已删除)。使用上面的表格,所有数据都是正确的,唯一受影响的是样式。

我去了css(我加载的唯一一个),这就是我能看到的关于那个课程的全部内容:

    .table.dataTable {
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #bbb;
}
.table.dataTable.dataTable-noheader {
  border-top: 0;
}
.table.dataTable.dataTable-nofooter {
  border-bottom: 0;
}

奇怪的是,如果我改变该类的名称,即使我不改变html中的类,行为也是一样的,这个类是否与数据表相关?我完全迷失了,我现在已经看了好几个小时了,我无法看到这一切背后的逻辑。请有人投光! :)

1 个答案:

答案 0 :(得分:1)

您使用的是依赖于dataTable类的plugin吗?听起来有些事情试图将数据附加到表或修改它,并通过在类名$(".dataTable")上使用css选择器查​​找表,当您更改类名时,您正在打破此选择器这就是为什么你不再看到错误了。

您应该尝试检查从ajax调用返回的数据,并确认它与您的javascript代码所期望的相匹配。

修改

事实上,数据表FAQ提到了这个错误:

  

Q值。 “请求的未知参数”错误

     

一个。当DataTables请求表中数据源中不存在的属性时,会出现此错误。它可能是由于在正文中指定了错误的列数,缺少的参数和colspan / rowspan。如果这些要点无法解决问题,请使用DataTables调试器并在论坛中发布问题。

显然,您获得的错误意味着数据表没有在返回的JSON数组的索引1处找到元素的值。 Requested unknown parameter '1' from the data source for row 0。检查JSON数据,特别是检查是否为数据表中的每一列返回了值。