easyui-extend.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. //扩展datagrid:动态添加删除editor
  2. //$("#dg").datagrid('removeEditor','cardNo');//这里的cardNo是需要移除editor的列的field值
  3. //
  4. //$("#dg").datagrid('addEditor',[ // 添加cardNo列editor
  5. // {field:'cardNo',editor:{
  6. // type:'textbox',
  7. // options:{
  8. // required:true,
  9. // validType:'length[3,3]',
  10. // invalidMessage:'请输入3位号码!'
  11. // }
  12. // }
  13. //}]
  14. $.extend($.fn.datagrid.methods, {
  15. addEditor : function(jq, param) {
  16. if (param instanceof Array) {
  17. $.each(param, function(index, item) {
  18. var e = $(jq).datagrid('getColumnOption', item.field);
  19. e.editor = item.editor;
  20. });
  21. } else {
  22. var e = $(jq).datagrid('getColumnOption', param.field);
  23. e.editor = param.editor;
  24. }
  25. },
  26. removeEditor : function(jq, param) {
  27. if (param instanceof Array) {
  28. $.each(param, function(index, item) {
  29. var e = $(jq).datagrid('getColumnOption', item);
  30. e.editor = {};
  31. });
  32. } else {
  33. var e = $(jq).datagrid('getColumnOption', param);
  34. e.editor = {};
  35. }
  36. }
  37. });
  38. // 日期格式话函数
  39. /*
  40. * columns: [ { field: 'updateTime', title: '更新时间', formatter: formatDatebox,
  41. * sortable: true, editor: 'datebox' } ] ]
  42. *
  43. *
  44. */
  45. $.extend($.fn.datagrid.defaults.editors, {
  46. datebox : {
  47. init : function(container, options) {
  48. var input = $('<input type="text">').appendTo(container);
  49. input.datebox(options);
  50. return input;
  51. },
  52. destroy : function(target) {
  53. $(target).datebox('destroy');
  54. },
  55. getValue : function(target) {
  56. return $(target).datebox('getValue');// 获得旧值
  57. },
  58. setValue : function(target, value) {
  59. // console.info(formatDatebox(value));
  60. $(target).datebox('setValue', formatDatebox(value));// 设置新值的日期格式
  61. },
  62. resize : function(target, width) {
  63. $(target).datebox('resize', width);
  64. }
  65. }
  66. });
  67. // easy ui datebox格式化方法 日期对象转换字符串
  68. function formatDatebox(value) {
  69. if (value == null || value == '') {
  70. return '';
  71. }
  72. var dt;
  73. if (value instanceof Date) {
  74. dt = value;
  75. } else {
  76. dt = new Date(value);
  77. }
  78. return dt.format("yyyy-MM-dd"); // 扩展的Date的format方法(上述插件实现)
  79. }
  80. // 时间格式化方法扩展 format
  81. Date.prototype.format = function (format) {
  82. if (!format) {
  83. format = "yyyy-MM-dd hh:mm:ss";
  84. }
  85. var o = {
  86. "M+": this.getMonth() + 1, // month
  87. "d+": this.getDate(), // day
  88. "h+": this.getHours(), // hour
  89. "m+": this.getMinutes(), // minute
  90. "s+": this.getSeconds(), // second
  91. "q+": Math.floor((this.getMonth() + 3) / 3), // quarter
  92. "S": this.getMilliseconds()
  93. // millisecond
  94. };
  95. if (/(y+)/.test(format)) {
  96. format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  97. }
  98. for (var k in o) {
  99. if (new RegExp("(" + k + ")").test(format)) {
  100. format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
  101. }
  102. }
  103. return format;
  104. };
  105. // 日期格式化方法 yyyy-MM-dd hh:mm:ss
  106. function fomatDateTime(str) {
  107. return (new Date(parseInt(str.substring(str.indexOf('(') + 1, str.indexOf(')'))))).format("yyyy-MM-dd hh:mm:ss");
  108. }
  109. // 日期格式化方法 yyyy-MM-dd
  110. function fomatDate(str) {
  111. return (new Date(parseInt(str.substring(str.indexOf('(') + 1, str.indexOf(')'))))).format("yyyy-MM-dd");
  112. }