Skip to content

Latest commit

 

History

History
107 lines (88 loc) · 2.57 KB

File metadata and controls

107 lines (88 loc) · 2.57 KB

dtEditor

requires:jquery,jquery databale(https://www.datatables.net/)

创建DataTable

var columns = [
    {
        title: '<input type="checkbox"/>',
        render: function() {
            return '<input type="checkbox"/>';
        }
    },
    { title: "date", data: "date"}];
    
 $('table').DataTable({columns:columns,data:[]})

创建dtEditor:

$("table").dtEditor({
    columns: [
        {
            target: 0, //列
            noField: true, //no need get the value
            //编辑状态下,当前列的html
            render: function (cd) {
                return '';
            }
        },
        {
            target: 1,
            render: function (cd) {
                var $h = $('<input type="text" class="form-control"/>').val(cd);
                $h.datetimepicker({
                    autoclose: true,
                    language: 'zh-CN',
                    minView: 2,
                    format: "yyyy-mm-dd"
                });
                return $h;

            },
            //获取值
            get: function ($td) {
                return $td.find('input').val();
            },
            //保存或取消时调用destory移除event等
            destory: function ($td) {
                $td.find('input').datetimepicker('remove');
            }
        }
    ],
    defaultValue: {date:'2017-01-01' }
});

或者use UpcEditorSetting

$("table").dtEditor({
    columns: [
        new UpcEditorSetting({
            target: 0,
            noField: true
        }),
        new UpcEditorSetting({
                target: 1,
                render: function(cd) {
                    this.$dom = $('<input type="text" class="form-control"/>').val(cd);
                    this.$dom.datetimepicker({
                        autoclose: true,
                        language: 'zh-CN',
                        minView: 2,
                        format: "yyyy-mm-dd"
                    });
                    return this.$dom;

                },
                destroy: function($td) {
                    this.$dom.datetimepicker('remove');
                }
            })
        ],
    defaultValue: {date:'2017-01-01' }
})

使用如下api进行新增或编辑:

var handler = $("table").dtEditor();

handler.triggerAdd();

handler.triggerEdit(0); //参数为行号或者tr(dom)

var d = handler.getRowData(); //获取当前行数据

handler.triggerSave(d); //保存当前行

handler.triggerCancel(); //取消编辑或新增