Javascript 动态添加dijit日期文本框 下拉日期框:

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

发生的情况:第三条语句对我不起作用,结果是一个简单的文本框。 所需内容:我想获得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="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);          
        });