以编程方式设置 dijit/form/TimeTextbox
set dijit/form/TimeTextbox programmatically
我无法使用从我的数据库返回的日期或仅使用字符串来设置 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
谢谢
您的字符串示例将不起作用,因为它不是 TimeTextBox 期望处理的 THH:MM
格式(与声明性小部件标记中的值相反,后者格式正确)。 Reference Guide 说明这是 TimeTextBox 小部件直接支持的唯一字符串格式。
支持以编程方式设置值时传递日期,并且将从传递的 Date 对象中获取小时和分钟,因此从表面上看,第二个示例的第一部分应该可以工作,假设 Date 有效。 (我认为您的第二个示例的后半部分打算调用 set('value', mtgTime)
,但由于上述原因,这将不起作用。)
我无法使用从我的数据库返回的日期或仅使用字符串来设置 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
谢谢
您的字符串示例将不起作用,因为它不是 TimeTextBox 期望处理的 THH:MM
格式(与声明性小部件标记中的值相反,后者格式正确)。 Reference Guide 说明这是 TimeTextBox 小部件直接支持的唯一字符串格式。
支持以编程方式设置值时传递日期,并且将从传递的 Date 对象中获取小时和分钟,因此从表面上看,第二个示例的第一部分应该可以工作,假设 Date 有效。 (我认为您的第二个示例的后半部分打算调用 set('value', mtgTime)
,但由于上述原因,这将不起作用。)