我希望以小时和分钟为单位停用过去的时间。请找到我尝试过的代码http://jsfiddle.net/7de4onun/18/。 在单个下拉列表中显示小时和分钟时,我能够从时间下拉列表中禁用过去时间。但我怎么能禁用 过去的小时和分钟,小时和分钟在单个下拉列表中单独显示,如小提琴中所示,基于用户从日期下拉列表中选择的日期。
以下是示例代码:
require([
"dojo/_base/lang", "dijit/registry", "dojo/ready", "dijit/form/TimeTextBox", "dojo/parser"
], function(lang, registry, ready) {
ready(function() {
var timeH = registry.byId("selHours"),
timeM = registry.byId("selMins");
document.getElementById('selHours').value = document.getElementsByName('tHours')[0].value;
document.getElementById('selMins').value = document.getElementsByName('tMinutes')[0].value;
});
});
请在此处找到完整代码:http://jsfiddle.net/7de4onun/18/
PS:我想根据用户选择的日期禁用已经过的小时和分钟,这样用户就无法从下拉列表中选择传递的小时或分钟。
答案 0 :(得分:1)
请通过小提琴http://jsfiddle.net/7de4onun/19/
通过以下几项更改,您可以实现
添加了属性" data-dojo-id"小时和分钟元素如下
Hours: <input id="selHours" name="selHours" data-dojo-id="dojoSelHours" /> Minutes: <input id="selMins" name="selMins" data-dojo-id="dojoSelMins" />
在OracleDateTextBox控件更改处理程序中,您可以看到以下更改。
onChange: function(v){
setTimeout(showServerValue, 0);
var currentTime=new Date();//new Date(v.getYear(), v.getMonth(), v.getDay(), 9, 25, 0);
//Hour min constraints
dojoSelHours.constraints.min= currentTime;
//Minute min constraints
dojoSelMins.constraints.min= currentTime;
}