Javascript 动态添加dijit日期文本框 下拉日期框:
发生的情况:第三条语句对我不起作用,结果是一个简单的文本框。 所需内容:我想获得x个日期文本框。其中x是从数据库中检索的。请尝试下面的方法Javascript 动态添加dijit日期文本框 下拉日期框:,javascript,jsp,dojo,dijit.form,Javascript,Jsp,Dojo,Dijit.form,发生的情况:第三条语句对我不起作用,结果是一个简单的文本框。 所需内容:我想获得x个日期文本框。其中x是从数据库中检索的。请尝试下面的方法 <label for="date1">Drop down Date box:</label> <input type="text" name="date1" id="date1" value="2005-12-30" data-dojo-type="dijit/form/DateTextBox" required
<label for="date1">Drop down Date box:</label>
<input type="text" name="date1" id="date1" value="2005-12-30"
data-dojo-type="dijit/form/DateTextBox"
required="true" />
您混合了旧的dojo声明性语法和新的html5兼容语法。“数据”部分用于更新的html5语法 正如OammieR所指出的,在声明中也不使用“/”,它应该是“.”。例如,见下文
<input type="text"
placeholder="Date of Birth"
name="date"
dojoType="dijit.form.DateTextBox"
required="true"
>
如果您使用。需要时,您必须使用xxx/xxx/xxxx
但是在数据dojo类型中
必须使用xxx.xxx.xxx
我面临同样的问题,并得到了这个解决方案。在声明性语言中使用AMD语法之前,您必须要求使用模块来创建小部件,如:- 在您的情况下,首先您需要小部件
<input id="date1" data-dojo-type="dijit.form.DateTextBox"
data-dojo-props="required:true,name:'date1',value:'2005-12-30'" />
作为创建小部件的声明性工具,您还必须解析代码
在HTML中:-
require(["dojo/parser","dijit/form/DateTextBox"],function(parser,DateTextBox)
{
parser.parse();
});
下拉日期框:
现在您可以自由使用xxx/xxx/xxxx或xxx.xxx.xxxx。
我希望这将帮助您……如果您使用的是dojo AMD,那么下面是动态添加dijit DateTextBox的代码
<label for="date1">Drop down Date box:</label>
<input type="text" name="date1" id="date1" value="2005-12-30"
data-dojo-type="dijit/form/DateTextBox"
required="true" />
注意:如果一次创建此循环或多个日期桩,请注意id,因为id应该是唯一的,不应该重复
希望这将帮助您:)您使用的是什么dojo版本?您是否尝试过下面的答案。。。
require(["dijit/form/DateTextBox", "dojo/dom-construct", "dojo/domReady!"],function(DateTextBox, domConstruct)
{
var parentNode = domConstruct.create("div", { "class": "container" }, mainContainer); // place this container in your main conatainer.
var Date = new DateTextBox({
name="date1",
id="date1",
value="2005-12-30"
}, parentNode);
});