<input type="text" name="date1" id="time1" value="T15:00:00"
data-dojo-type="dijit/form/TimeTextBox"
onChange="require(['dojo/dom'], function(dom){dom.byId('val').value=dom.byId('time1').value.toString().replace(/.*1970\s(\S+).*/,'T$1')})"
required="true" />
这是我一直在研究的代码。在这里,我需要将差异显示为1小时,而下拉显示差异的时间为15分钟。同时我想显示从上午8点到下午2点的限制 也有人可以帮我这个吗?
答案 0 :(得分:3)
使用dojo-data-props设置约束。首先是您的增量,现在设置为15分钟,到一小时:
constraints: {
clickableIncrement: 'T01:00:00',
visibleIncrement: 'T01:00:00'
}
要首先设置可用时间增量的范围,您需要计算最小值和最大值:
//today
var today = new Date();
//today 8am
var min = new Date(
today.getYear(),
today.getMonth(),
today.getDay(),
8, 0, 0);
//today 2pm
var max = new Date(
today.getYear(),
today.getMonth(),
today.getDay(),
14, 0, 0);
然后在约束中定义它们:
constraints: {
min: min,
max: max
}
您还应该将所选值设置为data-dojo-props,以便它们符合您的约束条件:
value: min
总结如下:
<script>
var today = new Date();
var min = new Date(
today.getYear(),
today.getMonth(),
today.getDay(),
8, 0, 0);
var max = new Date(
today.getYear(),
today.getMonth(),
today.getDay(),
14, 0, 0);
</script>
<input type="text" name="date1" id="time1" value="T15:00:00"
data-dojo-type="dijit/form/TimeTextBox" onChange="require(['dojo/dom'], function(dom){dom.byId('val').value=dom.byId('time1').value.toString().replace(/.*1970\s(\S+).*/,'T$1')})"
required="true" data-dojo-props="value: min, constraints:{ min: min, max: max, clickableIncrement: 'T01:00:00', visibleIncrement: 'T01:00:00'}"/>
这是关于Plunker的一个工作示例:http://plnkr.co/edit/Fl0gQnzwY6RjyjA2syPZ