显示用户加载页面时的默认时间

时间:2014-10-31 13:47:35

标签: javascript jquery html dojo

我想显示用户在小时和分钟下拉框中加载页面时的默认时间。请找到小提琴http://jsfiddle.net/8o23tbLu/34/。 以下是创建文本框以显示小时和分钟的代码:

<input id="timeHours" name="timeHours" data-dojo-type="dijit/form/TimeTextBox" required="true" data-dojo-id="dojoSelHours" value="10" />&nbsp;:
<font size="1">Minutes</font>

<input id="timeMins" name="timeMins" maxlength="3" style="width:50px;" data-dojo-type="dijit/form/TimeTextBox" required="true" data-dojo-props="constraints: {timePattern: 'mm', clickableIncrement: 'T02:05:00',visibleIncrement: 'T02:00:00' }" data-dojo-id="dojoSelMins" value="05" />

在几个小时内,我想展示&#34; 10&#34;在几分钟后,我想显示&#34; 05&#34;当用户加载页面时。 我不应该使用隐藏变量来实现这个。我使用隐藏变量实现了这一点,但我不应该使用隐藏变量。请建议。

以下是JS代码:

    ready(function () {
        // Set the current time when starting up
        var time = registry.byId("timeHours");
        time.set({
            "constraints": {
                timePattern: 'HH',
                clickableIncrement: 'T01:00:00',
                visibleIncrement: 'T01:00:00',
                visibleRange: 'T24:00:00'
            } 
            //"value": document.getElementsByName('timeHours')[0].value
        });

        //Minutes
        var timeM = registry.byId("timeMins");

    });

});

- 编辑 -

请找到http://jsfiddle.net/8o23tbLu/37/,使用隐藏变量显示默认值。但我想在不使用隐藏变量的情况下显示默认值。

1 个答案:

答案 0 :(得分:0)

好的,我删除了之前的答案,根据当前时间生成了一个小时和分钟。既然你已经澄清了你想总是默认为10:05,并且看到dojo的TimeTextBox如何工作,你似乎需要提供一个合适的“时间”字符串。请参阅下面的示例和working fiddle here

var time = registry.byId("timeHours");
time.set({
    "constraints": {
        timePattern: 'HH',
        clickableIncrement: 'T01:00:00',
        visibleIncrement: 'T01:00:00',
        visibleRange: 'T24:00:00'
    },
    "value": 'T10:05:00'
});

//Minutes
var timeM = registry.byId("timeMins");
timeM.set({
    "value": 'T10:05:00'
});