jquery 数据表和 cakePHP

Posted

技术标签:

【中文标题】jquery 数据表和 cakePHP【英文标题】:jquery datatable and cakePHP 【发布时间】:2011-07-01 09:19:28 【问题描述】:

我正在尝试在我的基于 cakephp 的网站中实现 jquery datatable,但它只是无法加载。这个网站已经开发了一半,从我的角度来看,js'是通过位于views/layouts文件夹内的一个名为_head.inc.ctp的文件加载的,我在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,它已加载,所以我看不出是什么使脚本失败了我的表。

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

谢谢

【问题讨论】:

您是否在控制器中包含了 Javascript 和 HTML 帮助程序? 【参考方案1】:

你应该在你的控制器中使用 find 函数并将数组传递给视图并在视图中写入它。不要只是让表为空

【讨论】:

我知道,我确实这样做了,我没有在我的问题上写这个只是为了让事情变得简单,然后我会编辑问题,谢谢 或许可以给我们一个链接,以便我们查看。 太糟糕了,我还在本地开发这个【参考方案2】:

您没有 required by the datatables script 那样的 thead 和 tbody 元素

【讨论】:

以上是关于jquery 数据表和 cakePHP的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery 调用 cakephp 动作并将数组作为参数传递

Cakephp-Jquery 菜单栏更改 URL

从jquery保存数据

cakephp 3.x 和数据表示例

CakePHP Jquery.ajax()

如何在 cakephp 中通过 ajax 提交 jquery 移动弹出表单