Codeigniter + dataTable 自定义删除与引导模型 [英] Codeigniter + dataTable custom delete with bootstrap model

查看:30
本文介绍了Codeigniter + dataTable 自定义删除与引导模型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

到目前为止我所拥有的:

What I have so far :

$(document).ready(function() {

$(document).ready(function() {

        table = $('#users').DataTable( {
            "processing": true,
            "ajax": "<?php echo site_url('main/ajax_request'); ?>",
            "deferRender": true,
            "columns": [ 
                            { "data": "id", "width": "6%", },
                            { "data": "description" },
                            { "data": "name" },
                            { "data": "relation2" },

                            {
                                "data": null,
                                "width": "6%",
                                "className": "center",
                                "defaultContent": '<a href="<?php echo site_url("model/delete/"); ?>" class="editor_remove" data-toggle="modal" data-target="#myModal"><i class="fa fa-trash"></i></a>'
                            },

                       ],

            "dom": 'Tlfrtip',
            "aaSorting": [],
            "iDisplayLength": 25,
            "bStateSave": false,

            // table tools
            "tableTools": {
                sSwfPath: "<?php echo base_url(); ?>assets/plugins/datatable/TableTools/swf/copy_csv_xls_pdf.swf",
                aButtons: [
                { sExtends :'pdf',
                  oSelectorOpts: { filter: 'applied', 
                                   order: 'current', 
                                 },
                  sPdfOrientation: "landscape",
                  sPdfMessage: "Export Aplicatie",
                  bFooter: false,
                },

                { sExtends :'xls',
                  oSelectorOpts: { filter: 'applied', 
                                   order: 'current',
                                 },
                  bFooter: false,
                },

                { sExtends :'print',
                  oSelectorOpts: { filter: 'applied', 
                                   order: 'current',
                                 },
                  bFooter: false,
                },
                ],

                //"sRowSelect": "single",
            },
        } );

        // Setup - add a text input to each footer cell
        $('#users tfoot th').each( function () {
            var title = $('#users thead th').eq( $(this).index() ).text();
            $(this).html( '<input type="text" style="width:100%" class="form-control" />' );
        } );

        // Apply the search
        table.columns().eq( 0 ).each( function ( colIdx ) {
            $( 'input', table.column( colIdx ).footer() ).on( 'keyup change', function () {
                table
                    .column( colIdx )
                    .search( this.value )
                    .draw();
            } );
        } );
    } );

控制器:

// ajax request
public function ajax_request()  {
    $response = json_encode(array("data" => $this->Misc_model->getRecords() ));

    echo $response;
}

型号:

public function getRecords()    {
    $data = array();

    $this->db->select("records.id, records.description, relation_1.name, records.relation2")
             ->from('records')
             ->join('relation_1', "relation_1.id = records.relation", 'LEFT')
             ->where_not_in("deleted", '1');

    $query = $this->db->get();
    if($query->num_rows() > 0)  {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
    }

    return $data;
}

HTML:

        <table id="users" class="table table-bordered" cellspacing="0" width="100%">
            <thead>
                <tr>
                    <th>ID</th>
                    <th>Description</th>
                    <th>Single 1</th>
                    <th>Single 2</th>
                    <th>Delete</th>
                </tr>
            </thead>

            <tfoot>
                <tr>
                    <th>ID</th>
                    <th>Description</th>
                    <th>Single 1</th>
                    <th>Single 2</th>
                    <th>Delete</th>
                </tr>
            </tfoot>

        </table>

现在我的问题是:

如何获取 ID 值以便在以下情况下使用它:

How can i get the ID value so I can use it in :

<?php echo site_url("model/delete/$id"); ?>

如果这是不可能的,有没有其他方法可以做到这一点?

and if that is impossible is there a different way to have this done ?

推荐答案

在 getRecords 模型中定义数据:

It's in your getRecords model that you define your data :

public function getRecords()    {

    $data = $this->db->select("records.id, records.description, relation_1.name, records.relation2")
             ->from('records')
             ->join('relation_1', "relation_1.id = records.relation", 'LEFT')
             ->where_not_in("deleted", '1')
            ->get()->result();

    foreach($data as $d) {
        $d->href = '<a href="' . site_url("model/delete/" . $d->id) . '" class="editor_remove" data-toggle="modal" data-target="#myModal"><i class="fa fa-trash"></i></a>';
    }

    return $data;
}

在你的 jquery 数据表中替换这个:

And in your jquery datatable replace this :

{
"data": null,
"width": "6%",
"className": "center",
"defaultContent": '<a href="<?php echo site_url("model/delete/"); ?>" class="editor_remove" data-toggle="modal" data-target="#myModal"><i class="fa fa-trash"></i></a>'
},

像这样:

{ "data": "href" },

这篇关于Codeigniter + dataTable 自定义删除与引导模型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆