Javascript dojo dijit.form.DateTextBox约束不起作用,DateTextBox

Javascript dojo dijit.form.DateTextBox约束不起作用,DateTextBox,javascript,dojo,dijit.form,Javascript,Dojo,Dijit.form,嗨,我是javascript和dojo新手。我尝试使用两个带有下拉日历的dijit DateTextBox来建立数据库查询的日期范围。一旦选择了开始日期或结束日期,我想限制可用的日期,这样就不可能在开始日期之前按时间顺序选择结束日期,反之亦然。我试图应用dojo参考中名为“动态更改约束”(大约在页面的一半)的示例:但是,约束在我的代码中不起作用。我唯一真正与众不同的地方就是使用了tundra主题。如有任何建议,将不胜感激 require(“dijit.form.DateTextBox”);

嗨,我是javascript和dojo新手。我尝试使用两个带有下拉日历的dijit DateTextBox来建立数据库查询的日期范围。一旦选择了开始日期或结束日期,我想限制可用的日期,这样就不可能在开始日期之前按时间顺序选择结束日期,反之亦然。我试图应用dojo参考中名为“动态更改约束”(大约在页面的一半)的示例:但是,约束在我的代码中不起作用。我唯一真正与众不同的地方就是使用了
tundra
主题。如有任何建议,将不胜感激


require(“dijit.form.DateTextBox”);
发件人:
致:

随着dojo 1.6中引入了新的符合HTML5的属性
数据dojo类型
,小部件属性的解析方式也发生了变化(在HTML5中也进行了验证)。小部件特定的属性现在以JSON风格的语法出现在名为
dataDojoprops
的HTML属性中

要使您的示例再次工作,请将
onChange
(和
required
)放在
数据dojo props
中(注意,您必须在其周围包装一个函数):

dojo.require(“dijit.form.DateTextBox”)

发件人:
致:

有一天我会做一些类似的事情:

dojo.require(“dijit.form.DateTextBox”);
某些功能(minDate){
dijit.byId('toDate').constraints.min=minDate;
}

搜索有效日期范围和限制,其中只能有过去的范围,添加限制max,并以这种格式回显日期
Y-m-d
,我设法这样编辑它,希望对您有所帮助

dojo.require(“dijit.form.DateTextBox”)

发件人:

我从来没有在模板中遇到过这样的属性

当以下任一项发生变化时,我只在运行的函数上处理它:

我有一个附加点是“startDatePicker”,另一个附加点是“endDatePicker”。在这里,我将endDatePicker设置为根据所选的新开始日期添加约束,因此它是动态的:

this.endDatePicker.constraints.min = new Date(startDate);
this.endDatePicker.constraints.max = new Date();

我唯一能想到的另一件事是,每个DateTextBox都在自己的执行上下文中运行,因此它们不会彼此“看到”。谢谢你的回复,Michael!我试过你的建议,但没有成功。我不明白为什么没有设置约束,即使我像你建议的那样硬编码日期。另外,我猜“arguments[0]”是每个DateTextBox对象的arguments属性中的第一个值,如果用户选择了日期,就会更新该值;如果使用第一个解决方案,还可以向函数添加一个参数:function(date){…},然后使用date而不是参数[0]。是的,但我正在寻找一种方法,用两个DateTextBoxes创建一个有效的日期范围。您正在调用php函数。看起来它会工作,但我只想使用javascript/dojo