原由
在做系统时根据要求有时候需要屏蔽掉某些特殊的日期,像周日或者法定假日,以及一些调班的日期;使用WdatePicker可以屏蔽掉周日和大多数法定假日,但像清明或者调班的日期则不好处理。
想法
1:日历里不限制,但当选择时将选定的日期进行验证(使用
onpicking事件),不符合则取消
好处是实现简单,缺点是日历上面没有标示,需要点到了才知道是不是允许的
2:
当绑定时进行初始化一次日历,当月变更时也处理一次日历,把不符合条件的日期特殊处理
好处是用户使用时一看就知道哪些可用,哪些不可用
难点:
WdatePicker第一次绑定后再改变参数是不会有更新的,另外哪些日期是需要处理的不可能在绑定日期是就全部确定下来,要在月改变时动态取得,这时也无法通过日历自带的参数来处理(改了参数也没有用)
解决:
既然日历加载了便可以通过DOM处理,那就直接处理生成后的日历吧
在加载后处理一次,以后每次改变月时也处理一次(本示例中将WdatePicker的参数$crossFrame设置为false以简化DOM结构)
示例中把所有3的倍数的日期改变了颜色,单击事件也改变了,效果如下:
代码比较简单:
WdatePicker test