我继承了一个用旧zul编写的遗留网站,并为生日数据报警器添加了新的datebox组件。
添加了一个约束以接受给定日期之前的日期,但这会从开始就触发错误通知框,因为默认情况下在数据报警器上显示/选定的日期是今天。
我不想使用变通方法,但恕我直言,这似乎是我在zk现实中寻找的顶级特性:
我确实尝试过这个解决方法(在论坛帖子之后,因为这是默认的年份),但是这个解决方案对我不起作用。它确实执行了
this.setValue(initialDate);我看到这个值被设置到datebox的_pop/_value和_pop/_end节点中,但是在datepicker框上没有明显的区别,但是今天仍然是预选的--它是灰色的--所以没有效果。尽管如此,当存在最古老的引擎我试着用6.5.8.1版本的小提琴时,它确实可以工作,但在v5.0.11中不能在本地工作。
在这个版本的窃听器中,没有提到datebox。试图调查一些可能会干扰的bug,但事实证明,这只是我在这件事上浪费时间的又一集。
在5.0.11沙箱中尝试过,但是这个版本不起作用。我使用它的结构在链式小提琴中被模仿。关于在这个版本上有效的解决方法的提示?
发布于 2019-07-19 16:04:53
ZK5.0.11目前处于旧版本,因此它可能不会接受与后续版本完全相同的重写。如果我正确地理解了这个问题,那就归结为
1-在Datebox呈现为在日历中打开“初始日期”之前设置一个值。
我认为这是一个简单的解决方法,因为您可以使用组合或数据库来在页面呈现期间设置datebox的值。下面是一个使用绑定和zscript的小示例,但是同样的逻辑应该适用于带有setValue()的composer。但是,您提到在本地使用5.0.11并不适用这种方法。您能共享您为此使用的代码吗?这里的示例代码在小提琴中 I可以在本地5.0.11上运行它,并在弹出打开之前设置日期。
或
2-设置初始日期(不影响所选值),但将是打开日历的目标。
这不是datebox的默认ZK 5行为。如果要实现该效果,则需要使用覆盖脚本对其进行自定义。在ZK 5中,最简单的方法是使用打开事件的datebox弹出--这里是一个示例(示例中的脚本标记中的包,使用全局js文件进行实际部署) 这里的例子
https://stackoverflow.com/questions/57094108
复制相似问题