最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

php - jquery datatable and cakePHP - Stack Overflow

programmeradmin2浏览0评论

i am trying to implement jquery datatable, in my cakePHP based website, but it just wont load. this website is already half developed, and from the way i see it, the js' is loaded through a file called _head.inc.ctp located inside the views/layouts folder, i have added the datatables library inside the libs folder which is webroot/js/libs and load it inside the _head.inc.ctp file.

suppose i have this: my controller:

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

my view:

<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>

i even hard coded it using the usual call, and checked it using firebug to see if the script is loaded or not, and according to firebug, it is loaded, so i cant see whats making the script fail my table.

did i missed some steps ? please help

thanks

i am trying to implement jquery datatable, in my cakePHP based website, but it just wont load. this website is already half developed, and from the way i see it, the js' is loaded through a file called _head.inc.ctp located inside the views/layouts folder, i have added the datatables library inside the libs folder which is webroot/js/libs and load it inside the _head.inc.ctp file.

suppose i have this: my controller:

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

my view:

<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>

i even hard coded it using the usual call, and checked it using firebug to see if the script is loaded or not, and according to firebug, it is loaded, so i cant see whats making the script fail my table.

did i missed some steps ? please help

thanks

Share edited Jun 20, 2020 at 9:12 CommunityBot 11 silver badge asked Feb 21, 2011 at 16:00 littlechadlittlechad 1,2281 gold badge18 silver badges50 bronze badges 1
  • Have you included the Javascript and HTML helpers in your controller? – Amy Anuszewski Commented Feb 21, 2011 at 20:56
Add a ment  | 

2 Answers 2

Reset to default 3

You don't have thead and tbody elements as required by the datatables script

You should use the find function in your controller and pass the array to the view and in the view write it.. don't just leave the table empty

发布评论

评论列表(0)

  1. 暂无评论