jquery数据表和cakePHP

时间:2011-02-21 16:00:32

标签: php javascript jquery cakephp datatable

我正在尝试在我的基于cakePHP的网站上实现jquery datatable,但它不会加载。这个网站已经开发了一半,从我看到它的方式来看,js'是通过位于_head.inc.ctp文件夹中的views/layouts文件加载的,我在libs文件夹中添加了datatables库。是webroot/js/libs并将其加载到_head.inc.ctp文件中。

假设我有这个: 我的控制员:

var $helpers = array(
    'Form',
    'Html',
    'Javascript'
);
//my method
function dataTable_example($id=null){
    $details = $this->Detail->find("all");
    $this->set('details', $details );
}

我的观点:

<div>
    <?php echo $javascript->link('libs/jquery.dataTables.js'); ?>
<script>
    $(document).ready(function(){
        $('#js-datatable').dataTable();
    });
</script>
    <h2><?php echo __l('Tickets');?></h2>
    <div>
        <table id="js-datatable">
            <tr>
                <th>some heading 1</th>
                <th>some heading 1</th>
                <th>some heading 1</th>
            </tr>
            <?php
            if (!empty($details)){
                foreach ($details as $detail):
            ?>
            <tr>
                <td><?php echo $detail['Detail']['id'];?></td>
                <td><?php echo $detail['Detail']['created'];?></td>
                <td><?php echo $detail['Detail']['ticket_detail'];?></td>
            </tr>
            <?php
                endforeach;
            }else{
            ?>
            <tr>
                <td>No Data Found</td>
            </tr>
            <?php }?>
        </table>
    </div>
</div>

我甚至使用通常的调用对其进行了硬编码,并使用firebug检查它是否已加载脚本,并且根据firebug,它已加载,所以我无法看到是什么让脚本失败了我的表。 / p>

我错过了一些步骤吗?请帮忙

感谢

2 个答案:

答案 0 :(得分:3)

您没有将thead和tbody元素作为required by the datatables script

答案 1 :(得分:1)

您应该在控制器中使用find函数并将数组传递给视图,并在视图中写入..不要只是将表保留为空