Dojo dateTextBox onChange在更改时反映另一个文本框中的相同日期

时间:2016-06-07 22:41:58

标签: javascript dojo

我有以下Dojo dateTextBox日期选择器:

<input type="text" id="startDate" data.dojo.id="startDate" dojoType="dijit.form.DateTextBox" value=new Date(year month,day); constraints={datePattern:\'yyyy-MM-dd\'} onchange="document.getElementById(\'endDate\').value = this.value;"/>

每当我选择日期时,我希望在同一日期更改时反映在另一个文本框中:

<script>
    /* DOJO framework - setup code */    
    dojo.require("dijit.form.DateTextBox");
</script>
<input type="text" id="endtDate" data.dojo.id="Enddate" dojoType="dijit.form.DateTextBox" constraints={datePattern:\'yyyy-MM-dd\'} />

2 个答案:

答案 0 :(得分:1)

如果您有以下两个 dijit.form.DateTextBox : -

<input id="box1" data-dojo-type="dijit.form.DateTextBox"/>

<input id="box2" data-dojo-type="dijit.form.DateTextBox"/>

然后将日期从box1复制到box2,请使用: -

dijit.byId("box2").set('value', dijit.byId("box1").get('value'));

答案 1 :(得分:0)

这是一个有效的片段 作为@Neelesh saif,在startdate的开头你需要更新enddate小部件的值(而不是enddate输入的值)...
这是您的代码的主要区别。

function pageLoad(sender, args)
{
  $(document).ready(function(){   

   // put all your javascript functions here 

  });
} 
require(["dijit/form/DateTextBox", "dojo/domReady!"], function(DateTextBox){
    var endDateTextBox = new DateTextBox({
      constraints:{datePattern:'yyyy-MM-dd'}
    }, "endDate");
  
    var startDateTextBox = new DateTextBox({
      constraints:{datePattern:'yyyy-MM-dd'},
      onChange: function() {
        endDateTextBox.set('value', startDateTextBox.get('value'));
      }
    }, "startDate");
    
  
    startDateTextBox.startup();
    endDateTextBox.startup();
});