2016-05-28 30 views
1

我使用的是XDSOFT datetimepicker插件,我在這裏找到:http://easycodestuff.blogspot.in/2016/01/using-date-time-pickers-in-angularjs.html(非常有用和信息豐富的博客),我已將minTime,minDate設置爲0,這意味着只能選擇當前日期和時間。這對今天來說很好,我們將被允許從現在開始設定未來的時間。但是,即使在將來的日期中,也可以將minTime設置爲0,並選擇當前時間甚至是將來的日期。XDSOFT插件datimepicker問題

這是演示plunkerhttp://plnkr.co/edit/VThUaRaXAK3Ov4nAa5TZ?p=preview。在這裏,我們可以選擇今天的日期和當前時間,但是如果我選擇明天的日期,我可以選擇當前時間,即使明天也是如此。

我需要一個解決方案,可以爲將來的日期選擇任何時間。

此外,當選擇日期時,仍然啓用手動輸入,這意味着雖然minDate設置爲0,但我們可以選擇任何過去的日期。如何一旦選擇禁用它?

如果有人能幫忙,我會很感激。

回答

1

我已經創建了一個函數(「onChangeDateTime」)來檢查日期並設置時間驗證。

嘗試這個代碼,工作Plunker.

<!DOCTYPE html> 
<html> 
    <head> 
     <link rel="stylesheet" type="text/css" href="jquery.datetimepicker.css" /> 
     <script type="text/javascript" src="jquery.js"></script> 
     <script type="text/javascript" src="jquery.datetimepicker.full.js"></script> 
     <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.9/angular.min.js"></script> 
    </head> 
    <body> 
     <h3>DateTimePicker</h3> 
     <input type="text" id="datetimepicker" onkeypress="return false" onpaste="return false"/> 
     <br /><br /> 

     <script> 

      var d = new Date(); 
      var logic = function(currentDateTime){ 
       if(d.getFullYear() + '-' + d.getMonth() + '-' + d.getDate() == currentDateTime.getFullYear() + '-' + currentDateTime.getMonth() + '-' + currentDateTime.getDate()){ 
        this.setOptions({ 
         minTime:0 
        }); 
       }else{ 
        this.setOptions({ 
         minTime:'0:00' 
        }); 
       } 
      }; 

      $('#datetimepicker').datetimepicker({ 
       minDate: 0, 
       onChangeDateTime:logic, 
       onShow:logic 
      }); 

     </script> 
    </body> 
</html> 
+0

一部分時間是好的,但它可能使手工錄入禁止? lyk當用戶輸入日期和時間時,輸入必須被禁用(否則用戶仍然可以輸入過去的日期)以及如何使用角度指令來獲取輸入。這裏是我如何嘗試的一大堆:http://plnkr.co/edit/iDnfY2QF2lpFQdpvLKAB?p =預覽 – Deborah

+0

因爲你可以使這個文本字段只讀,但然後選擇器不工作... –

+1

所以嘗試<輸入類型=「text」id =「datetimepicker」onkeypress =「return false」onpaste =「return false」/> –