首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >TypeError:使用jQuery数据可能器库时未定义oColumn

TypeError:使用jQuery数据可能器库时未定义oColumn
EN

Stack Overflow用户
提问于 2012-09-05 19:56:51
回答 2查看 24K关注 0票数 18

在我的jQuery网站表格中,我遇到了一个让Joomla Datatables库正确显示的问题。http://datatables.net

脚本对我的表格设置了一半的样式,然后放弃了(我改变了表格标题的颜色和文本的颜色,但没有datatables控件等)。

Firebug还抛出了以下错误:

代码语言:javascript
复制
 TypeError: oColumn is undefined

在我的Joomla模板index.php中,我的<head>中有以下内容

代码语言:javascript
复制
<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如下所示:

代码语言:javascript
复制
<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>
EN

回答 2

Stack Overflow用户

发布于 2012-09-05 20:09:05

在抛出错误之前,datatables对它接受的html非常严格。我添加了标签到我的html,现在它可以工作了,还请注意,你的头列必须有标签,而不是标签,因为这也会抛出一个错误。

html代码现在看起来如下所示:

代码语言:javascript
复制
<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等如下所示:

代码语言:javascript
复制
<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>
票数 4
EN

Stack Overflow用户

发布于 2012-09-05 20:01:25

试试这个:

代码语言:javascript
复制
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

                    ]
                    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12280900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档