我在对DateTextBox小部件进行编程时遇到了一些困难,以便仅使用月份和年份进行输入,并在DateTextBox中放入mm / yy格式。有人可以帮我整理一下吗?
<link href="http://ajax.googleapis.com/ajax/libs/dojo/1.9.3/dojo/resources/dojo.css" rel="stylesheet" />
<link href="http://ajax.googleapis.com/ajax/libs/dojo/1.9.3/dijit/themes/claro/claro.css" rel="stylesheet" />
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.9.3/dojo/dojo.js" djConfig="parseOnLoad:true"></script>
<body class="claro">
<div id="dt_text" data-dojo-type="dojox/form/DateTextBox" data-dojo-props="popupClass: 'dojox/widget/MonthAndYearlyCalendar'">
</div>
这个DateTextBox JSFiddle显示了到目前为止我的努力。同样欢迎使用mm / yy文本框输入而不使用这些小部件的替代方法。
只是为了澄清一下,如果您要走一条替代路线,重要的一点是一个很好的mm / yy弹出窗口,我可以使用该弹出窗口将所选日期注入(inject)到文本框中。我熟悉不同类型的文本框djits,但不熟悉日期选择器弹出窗口。
我正在使用Dojo 1.8,并且无法升级,因此请使您的答案与此版本兼容
最佳答案
我为您准备了两个带有screenshot的模块,它们都符合您的要求。
模块:
带MonthAndYearlyCalendar的
DateTextBox
查看MonthTextBox
<link rel="stylesheet" href="scripts/dojo/dojox/grid/resources/claroGrid.css">
<link rel="stylesheet" href="scripts/dojo/dojox/widget/Calendar/Calendar.css">
<script>
dojo.require("dojox.widget.MonthAndYearlyCalendar");
</script>
<body class="claro">
<input type="text" name="monthNyear" value="11/2013" data-dojo-type="dojox/form/DateTextBox" data-dojo-props="constraints:{datePattern: 'MM/yyyy'}, popupClass:'dojox.widget.MonthAndYearlyCalendar'" />
<input type="text" name="monthOnly" value="11" data-dojo-type="dojox/form/MonthTextBox" />
</body>
关于javascript - 自定义Dojo DateTextBox-仅需要mm/yy输入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17638682/