动态添加dijit日期文本框

时间:2012-11-27 08:43:48

标签: javascript jsp dojo dijit.form

<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" />

会发生什么:第三个语句对我不起作用,我得到的结果是一个简单的文本框。 需要什么:我想获得x个日期文本框。从数据库中检索x。

5 个答案:

答案 0 :(得分:2)

您可以混合使用旧的dojo声明性语法和较新的html5兼容语法。 &#34;数据 - &#34; piece用于较新的html5语法。

正如OammieR指出的那样,你也不会使用&#34; /&#34;在声明中它应该是&#34;。&#34;。例如,见下文。

<input id="date1" data-dojo-type="dijit.form.DateTextBox"
    data-dojo-props="required:true,name:'date1',value:'2005-12-30'" />

答案 1 :(得分:0)

尝试以下

<input type="text" 
                                   placeholder="Date of Birth"
                                   name="date" 
                                   dojoType="dijit.form.DateTextBox"
                                   required="true" 
                                   >

答案 2 :(得分:0)

如果您使用new version(AMD) require 时,您必须使用xxx/xxx/xxxx

但在data-dojo-type中,您必须使用xxx.xxx.xxx

Here is an example.

答案 3 :(得分:0)

我遇到同样的问题并得到这个解决方案。在声明中使用AMD语法之前,您必须要求用于创建小部件的模块,如: -

首先,您必须要求小部件

require(["dojo/parser","dijit/form/DateTextBox"],function(parser,DateTextBox)
{
    parser.parse();
});

作为您的创建小部件声明,您还必须解析您的代码。

在HTML中: -

<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" />

现在您可以自由使用xxx / xxx / xxxx或xxx.xxx.xxxx。 我希望这会对你有帮助......

答案 4 :(得分:0)

好吧,如果您使用的是dojo AMD,那么下面是动态添加dijit DateTextBox的代码。

  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);          
        });

注意:如果您一次创建此循环或多个日期纠察队,请注意 id ,因为ID应该是唯一的,不应重复。

希望这会对你有所帮助:)。