javascript - Dojo dojoType "dijit.form.DateTextBox": can it display a "Today" button?

标签 javascript dojo xpages dijit.form

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

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

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

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

谢谢

最佳答案

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

如果您阅读源代码,您会注意到每次单击 datetextbox 时,方法 openDropDown 都会被调用,其中最后一个弹出窗口被销毁并重新创建一个获得约束,因此您可以使用 oreder 中的函数将按钮绑定(bind)到带有 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>

关于javascript - Dojo dojoType "dijit.form.DateTextBox": can it display a "Today" button?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57790418/

相关文章:

javascript - 瓦坎达-基本了解

Javascript - Dojo - 对象对自身的引用

css - 浏览器中的 Xpages 预览与客户端中的预览

javascript - 将标题悬停在 SVG 圆上

Javascript 在将 'px' 分配给变量时删除位置值

javascript - 如何允许下载以二进制数据形式从 AJAX 返回的文件

javascript - 如何以编程方式从封闭的小部件中打开继承自 dijit/_HasDropDown 的 dojo 小部件?

javascript - 道场问题

java - 将自定义属性定义为数据对象

javascript - 有没有更好的方法将多值数据显示为列?