2014-10-06 52 views
0

我想在过去的几小时和几分钟内下拉下来。请找到我试过的代码http://jsfiddle.net/7de4onun/18/。 当我在一个下拉列表中显示小时和分钟时,我可以从时间下拉列表中禁用过去的时间。但是,我如何禁用 过去几小时和几分钟,当小时和分钟分别显示在单独的下拉列表中时,基于用户从日期下拉列表中选择的日期显示在小提琴中。时间下拉列表

下面是示例代码:

require([ 
      "dojo/_base/lang", "dijit/registry", "dojo/ready", "dijit/form/TimeTextBox", "dojo/parser" 
     ], function(lang, registry, ready) { 
      ready(function() { 
       var timeH = registry.byId("selHours"), 
       timeM = registry.byId("selMins"); 
       document.getElementById('selHours').value = document.getElementsByName('tHours')[0].value; 
       document.getElementById('selMins').value = document.getElementsByName('tMinutes')[0].value; 
      }); 
     }); 

请找到完整的代码在这里:http://jsfiddle.net/7de4onun/18/

PS:我想禁用它们已经通过了根据最新的用户已经选择小时和分钟,所以该用户无法从下拉列表中选择传递的小时数或分钟数。

回答

1

请通过小提琴http://jsfiddle.net/7de4onun/19/

下面一些改动就可以实现这一

  1. 添加属性“数据道场-ID”到两个小时和分钟要素如下

    Hours: <input id="selHours" name="selHours" data-dojo-id="dojoSelHours" /> 
    Minutes: <input id="selMins" name="selMins" data-dojo-id="dojoSelMins" /> 
    
  2. 在OracleDate TextBox控件更改处理程序您可以在下面看到更改。

    onChange: function(v){ 
        setTimeout(showServerValue, 0); 
    
        var currentTime=new Date();//new Date(v.getYear(), v.getMonth(), v.getDay(), 9, 25, 0); 
    
        //Hour min constraints 
        dojoSelHours.constraints.min= currentTime; 
    
        //Minute min constraints 
        dojoSelMins.constraints.min= currentTime; 
    } 
    
+0

它在一个错误的way..First工作是它被禁用当前小时,第二是即使我们选择未来每小时今天的日期,在分钟下拉列表过去分钟disabled.See的更新小提琴http://jsfiddle.net/7de4onun/21/与您的建议修改。 @Venkata Panga – user4103233 2014-10-06 19:51:10

+0

在dojo似乎有一些问题,请参阅更新提琴在这里http://jsfiddle.net/7de4onun/22/ – 2014-10-06 21:15:41

+0

问题与“dojo.1.9.0.js”,我更新为“道场。 1.10.1.js“,请参阅此处的更新提琴http://jsfiddle.net/7de4onun/25/ – 2014-10-07 00:34:12