u010159353 2014-12-29 06:41 采纳率: 0%
浏览 8436

Metronic UI框架表格管理问题

想问下这个Metronic managed -table使用的时候

 var User = function () {
    var inittable = function(){
        var oTable = $('#usertable').dataTable( {
            "bServerSide": true,
            "sAjaxSource": "listuser",
            "bProcessing": false,
            //simple_numbers  full_numbers
            //"sPaginationType": "two_button",
            "bFilter": true,//过滤功能
            "bSort": false,//排序功能
            "oLanguage": {
                "sUrl": "js/datatable-cn.txt",
                "sSearch":"登陆名:"
            },
            "aoColumnDefs": [{
                'bSortable': false,
                'aTargets': [0]
            }],
            "aoColumns": [
                { "mDataProp": function(lineData){
                    var id = lineData.id;
                    return '<input type="checkbox" name="ck_user" class="checkboxes" value="'+id+'"/>';
                }},
                { "mDataProp": "id" },
                { "mDataProp": "firstName" },
                { "mDataProp": "lastName" },
                { "mDataProp": "email" },
                { "mDataProp": function(lineData){
                    var id = lineData.id;
                    var del = '<button id="sample_editable_1_new" class="btn red" onclick="del(\''+id+'\')">删除<i class="icon-minus"></i></button>';
                    var edit = '<button id="sample_editable_1_new" class="btn green" onclick="edit(\''+id+'\')">编辑<i class="icon-minus"></i></button>';
                    var initGroup = '<button id="sample_editable_1_new" class="btn green" onclick="initGroup(\''+id+'\')">角色分配<i class="icon-minus"></i></button>';
                    return del +" " +initGroup +" " +edit;
                } }
          ]
        } );

        $('#ckcolum input[type="checkbox"]').change(function(){
            var iCol = parseInt($(this).attr("data-column"));
            var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
            oTable.fnSetColumnVis(iCol, (bVis ? false : true));
        });

        //添加全选和反选功能
        jQuery('#usertable .group-checkable').change(function () {
            var set = jQuery(this).attr("data-set");
            var checked = jQuery(this).is(":checked");
            jQuery(set).each(function () {
                if (checked) {
                    $(this).attr("checked", true);
                } else {
                    $(this).attr("checked", false);
                }
            });
            jQuery.uniform.update(set);
        });

        jQuery('#usertable_wrapper .dataTables_filter input').addClass("m-wrap small"); // modify table search input
        jQuery('#usertable_wrapper .dataTables_length select').addClass("m-wrap small"); // modify table per page dropdown
        jQuery('#usertable_wrapper .dataTables_length select').select2(); // initialzie select2 dropdown
    };

    return {
        init: function () {
            inittable();
        }
    };

}();

创建实例如上代码,效果图如下:图片说明

1、查询怎么样才能起作用?
2、前面的checkbox我是动态创建的,之前按照框架源码加上了相应的样式,但是前面的点击事件不可用了,不知道是什么原因?
3、这个表格如果数据做了修改,怎么让他动态刷新?

  • 写回答

4条回答 默认 最新

  • reroot 2015-04-27 09:06
    关注

    2 是 插件BUG。 作者很久没更新了。通过datatable 的DrawCallback 事件自己写了一段。如下。供参考

    
             $('#sample_1').dataTable({
                    "sAjaxSource": "index.php?r=user/myAjax",   
                    "fnDrawCallback":DrawCallback,
                    "aLengthMenu": [
                        [5, 15, 20, -1],
                        [5, 15, 20, "All"] // change per page values here
                    ],
                    // set the initial value
                    "iDisplayLength": 5,
                    "sPaginationType": "bootstrap",
                    "oLanguage": {
                        "sLengthMenu": "_MENU_ records",
                        "oPaginate": {
                            "sPrevious": "Prev",
                            "sNext": "Next"
                        }
                    },
                    "aoColumnDefs": [{
                            'bSortable': false,
                            'aTargets': [0]
                        }
                    ]
                });
                function DrawCallback(){
                        jQuery('.checkboxes').click(function(){
                                    var checked = jQuery(this).is(":checked");
                                    if(checked){
                                            jQuery(this).parent().addClass("checked");
                                            jQuery(this).attr("checked",true);
                                        }else{
                                            jQuery(this).parent().removeClass("checked");
                                            jQuery(this).attr("checked",false);
                                        }
                        });
                    }
                jQuery('#sample_1 .group-checkable').change(function () {
                    var set = jQuery(this).attr("data-set");
                    var checked = jQuery(this).is(":checked");
                    jQuery(set).each(function () {
                        if (checked) {
                                $(this).attr("checked", true);
                                $(this).parent("span").addClass("checked");
                            } else {
                                $(this).attr("checked", false);
                                $(this).parent("span").removeClass("checked");
                            }
                        $(this).parents('tr').toggleClass("active");
                    });
                    jQuery.uniform.update(set);
    
                });
    
    评论

报告相同问题?

悬赏问题

  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程