繁体   English   中英

Dojo dojoType "dijit.form.DateTextBox":它可以显示“今天”按钮吗?

[英]Dojo dojoType "dijit.form.DateTextBox": can it display a "Today" button?

有没有办法可以在日历弹出窗口中显示“今天”链接或按钮,

所以用户可以快速访问今天的日期?

我知道默认情况下它会突出显示,但用户会问,因为它在我们拥有的其他应用程序(不是 Dojo)中可用。

我在带有XPages的 Domino 服务器上使用Dojo

谢谢

你有两种方法,覆盖小部件并设法在自定义模板中添加按钮,或者只是以编程方式添加一个它打开如下:

如果您阅读源代码,您会注意到每次单击datetextbox ,都会调用openDropDown方法,在该方法中,最后一个弹出窗口被销毁并重新创建了具有约束的增益,因此您可以使用 oreder 中的函数将按钮绑定到弹出窗口带有 onclick impl 的小部件,

(添加一些 css 使按钮居中)

您可以尝试以下代码段:

 require([ "dojo/dom-construct", "dijit/form/DateTextBox", "dijit/form/Button", "dijit/popup", "dojo/dom", "dojo/aspect", "dijit/registry", "dojo/ready"], function(domConstruct, DateTextBox, Button, popup, dom, aspect, registry, ready) { ready(function() { new DateTextBox({},dom.byId("datebox")).startup(); var dateBox = registry.byId("datebox"); aspect.after(dateBox, "openDropDown", function(e){ var calButton = new Button({ label:"Today", onClick: function(e) { dateBox.set('value', new Date(), true); popup.hide(dateBox.dropDown); } }) console.log(dateBox.dropDown); domConstruct.place(calButton.domNode,this.dropDown.domNode,"after"); }) }); });
 #widget_datebox_dropdown { text-align:center; }
 <script type="text/javascript"> dojoConfig = { isDebug: true, async: true, parseOnLoad: true } </script> <script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script> <link href="//ajax.googleapis.com/ajax/libs/dojo/1.8.3/dijit/themes/claro/claro.css" rel="stylesheet" /> <body class="claro"> <div id="datebox"></div> </body>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM