按钮点击

时间:2016-02-15 15:59:43

标签: datepicker dojo constraints

我可以动态更改Dijit DateTextBox的某些约束,但是当我尝试更改datePattern时,它就无法正常工作。例如:

var theDateWidget = dijit.byId(/*RefToDateTextBox*/);

theDateWidget.constraints.max = new Date(); // works fine... :)

theDateWidget.constraints.datePattern = "yyyy"; // does not work, it also harms the DateTimeTextBox widget,  I cannot select any value from drop down anymore

我首先在创建时设置了datePattern = "dd/MM/yyyy"小部件,然后在代码中我决定将该模式更改为"yyyy"

任何人都知道如何动态更改datePattern DateTextBox小部件,比如点击按钮。

1 个答案:

答案 0 :(得分:0)

要更新窗口小部件的约束,您应该设置其约束'属性。假设您只想更新日期模式而不影响其他约束,那么您可以:

var constraints = theDateWidget.get('constraints');
constraints.datePattern = 'yyyy';
theDateWidget.set('constraints', constraints);

执行此操作比直接修改窗口小部件属性的内部更安全,因为窗口小部件在更新其属性时通常需要执行其他步骤。

另请注意,datePattern用于解析输入值和格式化窗口小部件的值以进行显示。如果它设置为不完整的模式,例如" yyyy",则小部件的功能将受到严格限制(它只能理解年份值,而不是完整日期)