jQuery MiniUI

 找回密码
 立即注册
查看: 6558|回复: 1
打印 上一主题 下一主题

mini-calendar控件ondrawdate加载时机问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2018-7-17 08:52:57 |只看该作者 |倒序浏览
本帖最后由 whicss 于 2018-7-17 08:55 编辑

现在有这样一个场景,我需要在mini-calendar控件ondrawdate事件加载之前,从后台获得一组数据,然后在mini-calendar控件ondrawdate事件里面做一些逻辑,目前的情况是,不管我怎么写,mini-calendar控件ondrawdate事件总触发在所有事件之前,我甚至把 mini.parse();方法注释了,mini-calendar控件ondrawdate的事件总最先执行,而且所有控件都能正常显示。。。
  1. <script>
  2.   var grid;

  3.   $.ajax({
  4.     url: urls.crud_list + '?statement=HolidayMapper.list',
  5.     dataType: 'json',
  6.     success: function (result) {
  7.       console.log(result);
  8.     }
  9.   });
  10.   /*window.onload = function () {
  11.     mini.parse();
  12.     grid = mini.get("crudGrid");
  13.     $.ajax({
  14.       url: urls.crud_list + '?statement=HolidayMapper.list',
  15.       dataType: 'json',
  16.       success: function (result) {
  17.         console.log(result);
  18.         console.log(mini.get('calendar1'));
  19.       }
  20.     });
  21.   }*/

  22.   function onActionRenderer(e) {
  23.     var record = e.record;
  24.     var uid = record._uid;
  25.     var s = '<span class="icon-remove" title="删除记录" onclick="delRow(' + uid + ')"></span>';
  26.     return s;
  27.   }

  28.   function addRow(holidayDate) {
  29.     var num = grid.data.length + 1;
  30.     var newRow = {holidayDate: holidayDate};
  31.     grid.addRow(newRow, num);
  32.     grid.beginEditCell(newRow, num);
  33.   }

  34.   function onValueChanged(e) {
  35.     var date = this.getFormValue();
  36.     addRow(date.substring(0, 10));
  37.   }

  38.   function delRow(row_uid) {
  39.     var row = grid.getRowByUID(row_uid);
  40.     if (row.id) {
  41.       $.ajax({
  42.         url: urls.holiday_delete + '?id=' + row.id,
  43.         dataType: 'json',
  44.         success: function (result) {
  45.           if (result == 1) {
  46.             mini.showTips({
  47.               content: "数据删除成功",
  48.               state: "success",
  49.               x: "right",
  50.               timeout: 3000
  51.             });
  52.           }
  53.         }
  54.       });
  55.     }
  56.     grid.removeRow(row);
  57.   }

  58.   function saveAll() {
  59.     var data = grid.getData();
  60.     $.each(data, function (i, item) {
  61.       item.companyId = '420000';
  62.     })
  63.     $.post({
  64.       url: urls.crud_save_all + "/holiday",
  65.       contentType: "application/json",
  66.       dataType: "json",
  67.       data: mini.encode(data),
  68.       success: function (result) {
  69.         grid.reload();
  70.         mini.showTips({
  71.           content: "数据保存成功",
  72.           state: "success",
  73.           x: "right",
  74.           timeout: 3000
  75.         });
  76.       }
  77.     })
  78.   }

  79.   function onDrawDate(e) {
  80.     var date = e.date;
  81.     console.log(2);
  82.     // console.log(mini.formatDate(date, 'yyyy-MM-dd'));
  83.     /*if (date.getTime() >= curDate.getTime())
  84.     {
  85.       e.allowSelect = false;
  86.     }*/
  87.   }

  88. </script>
复制代码


Rank: 8Rank: 8

沙发
发表于 2018-7-17 09:56:34 |只看该作者
calendar创建的时候就会加载,你这里可以考虑动态生成calendar,等你的比较基准出来后再生成。

Archiver|普加软件

GMT+8, 2025-7-7 05:17 , Processed in 1.031098 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部