我有越来越jQuery的数据表库正常出现在我的Joomla网站表中的问题。 http://datatables.net
剧本是成功的一半我的样式表,然后放弃了(我得到的表头,颜色改变,文本颜色,但没有数据表控制等)。
萤火虫也抛出以下错误:
TypeError: oColumn is undefined
在我的Joomla模板的index.php我在下面<head>
<script src="./datatables/js/jquery.js" type="text/javascript"></script>
<script src="./datatables/js/jquery.dataTables.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function() {
jQuery('#staff_table').dataTable({
"bLengthChange": true,
"bFilter": true,
"bSort": true,
"bInfo": true,
"bAutoWidth": true
} );
} );
</script>
在HTML / PHP看起来是这样的:
<h3>Members of Staff</h3>
<p>If you're looking for a member of staff at Tower Road Academy, you'll find their details here.</p>
<table class="staff_table" id="staff_table">
<tr class="staff_table_head">
<th>Name</th>
<th>Job Title</th>
<th>Email Address</th>
</tr>
<?php
$result = mysql_query("SELECT * FROM itsnb_chronoforms_data_addstaffmember");
while($row = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td>' . $row['staff_name'] . '</td><td>' . $row['staff_job'] . '</td><td><a href=mailto:"' . $row['staff_email'] . '">' . $row['staff_email'] . '</a>' . '</td>';
echo '</tr>';
}
?>
</table>
对于数据表中正常工作,您的表必须有一个适当的构造<thead>
和<tbody>
标签。
在HTML数据表的所有需求是一个<TABLE>
其被很好地形成(即,有效的HTML),具有报头(由定义的<THEAD>
HTML标签)和主体(一个<TBODY>
标签)
文档数据表
排序呢!,事实数据表是非常严格的关于它接受它抛出一个错误之前的HTML。 我加了标签我的HTML,现在它的工作,也请注意,你必须为你的标题列的标签,而不是标签,因为这也将引发错误。
HTML代码现在看起来是这样的:
<h3>Members of Staff</h3>
<p>If you're looking for a member of staff at Tower Road Academy, you'll find their details here.</p>
<table class="staff_table" id="staff_table">
<thead>
<tr class="staff_table_head">
<th>Name</th>
<th>Job Title</th>
<th>Email Address</th>
</tr>
</thead>
<?php
$result = mysql_query("SELECT * FROM itsnb_chronoforms_data_addstaffmember");
while($row = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td>' . $row['staff_name'] . '</td><td>' . $row['staff_job'] . '</td><td><a href=mailto:"' . $row['staff_email'] . '">' . $row['staff_email'] . '</a>' . '</td>';
echo '</tr>';
}
?>
</table>
并调用了jQuery等看起来是这样的:
<script src="./datatables/js/jquery.js" type="text/javascript"></script>
<script src="./datatables/js/jquery.dataTables.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery('#staff_table').dataTable({
"bLengthChange": true,
"bFilter": true,
"bSort": true,
"bInfo": true,
"bAutoWidth": true
} );
} );
</script>
希望这会帮助你的一切,至少要得到一个提示出来。
http://datatables.net/forums/discussion/comment/42607
我的问题是,类型错误:山坳是不确定的。
总结答案:
表的THEAD元件内的TR元件内TH元素的数目必须等于在表您TBODY的TR元件(一个或多个)内的TD元素(或表行内的列的数量)的数量。
您可以阅读波纹管的解释:
问题是,我没有把THEAD部内足够的Th或TD元素为等于该予打印作为TBODY部分内的Tr的元件内部TD元素的列数。
下面的代码确实给我的错误。
<thead>
<tr>
<th> Heading 1</th>
<th> Heading 2</th>
</tr>
</thead>
<tbody>
<tr>
<td> Column 1 </td>
<td> Column 2</td>
<td> Column 3</td>
</tr>
</tbody>"
但是,仅仅增加一个个元素于TR元件的内THEAD元素使得它就像一个魅力! :)和我从上面的链接的提示。
还有,我发现所有的THEAD的Tr的元素中的TH元素可以td元素也一样,它也是有效的HTML由jQuery的数据表所要求的水平!
希望我帮助你们中的一些,以节省您的时间! :)
试试这个:
jQuery('#staff_table').dataTable({
"bPaginate": true,
"bLengthChange": true,
"bFilter": true,
"bSort": true,
"bInfo": true,
"bAutoWidth": true,
"aoColumns": [
null,
null //put as many null values as your columns
]
});