以编程方式设置dijit / form / TimeTextbox

时间:2015-04-22 23:10:46

标签: javascript dojo dijit.form

我无法使用从我的数据库返回的日期或仅使用字符串设置dijit / form / TimeTextbox的值 - 我正在使用dojo版本1.10.4

插件:

    <input type="text" 
    data-dojo-type="dijit/form/TimeTextBox"
    data-dojo-attach-point="tbMtgTime"
    value="T15:00:00"

尝试字符串:

this.tbMtgTime.set("value", "10:30 AM");//doesnt work

从sqlserver数据库尝试值:

var mtgDate = new Date(parseInt(MI.OnSiteMeetingDateInt) * 1000);
                mtgDate.setTime(mtgDate.getTime() + mtgDate.getTimezoneOffset() * 60 * 1000);
                this.tbMtgDate.set("value", mtgDate);
                var mtgTime = ddl.format(mtgDate, {
                    selector: "time",
                    timePattern: 'HH:mm a'
                });
               this.tbMtgTime.set("value", mtgDate);//mtgDate is also 10:30 AM

由于

1 个答案:

答案 0 :(得分:1)

您的字符串示例不起作用,因为它不是TimeTextBox期望处理的THH:MM格式(而不是声明性窗口小部件标记中的值,格式正确)。 Reference Guide解释说这是TimeTextBox小部件直接支持的唯一字符串格式。

支持以编程方式设置值时传递日期,并将从传递的Date对象中获取小时和分钟,因此表面上第二个示例的第一部分应该有效,假设Date有效。 (我认为你的第二个例子的后半部分打算叫set('value', mtgTime),但由于上面解释的原因,这不起作用。)