2014-10-06 55 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