2016-07-14 79 views
0

我有一個輸入字段,我想填充日期和時間格式爲yy-mm-dd hh-mm-ss,因爲我將這些信息發送到我的數據庫列DATETIME(或類似的)數據類型。我用兩個輸入做了這項工作 - 一個文本框填充了datepicker(),另一個是帶有預定義時間值的<select>列表。今天,我被編碼在PHP另一功能和我didn`t喜歡我的日期和時間的情況,所以我做了這樣的javascript代碼:添加時間到jQuery datepicker()函數

<script type="text/javascript"> 
    $(".datepicker").click(function(){ 
     var a = "yy-mm-dd "; 
     var b = prompt("Ievadi laiku formātā hh-mm-ss", "00-00-00");  
    var c = a.concat(b); 
     $(".datepicker").datepicker({dateFormat: c}); 
     }); 
    </script> 

所以,當我點擊輸入框,我得到一個提示,我鍵入時間並按回車。這是當我想從日曆中選擇一個日期,但由於datepicker實際上在提示出現時(單擊時)同時工作,則此時參數c不存在,並且日曆不顯示,因爲dateFormat無效。如果再次點擊輸入字段,我會得到另一個提示,並在第二個提示日曆顯示之後,但是datepicker使用我第一次嘗試設置的格式。因此,如果我第一次輸入「00-00-00」,第二次輸入「00-10-00」,那麼比選擇日期後我得到「mydate 00-00-00」而不是實際輸入的時間時間。我在這裏看過類似的帖子,但它沒有幫助我。有一個獲得當前時間和追加日期的帖子,但我想這是不同的。我應該使用其他方法來輸入時間,然後將其添加到日期,因爲我正在嘗試這麼做,或者有沒有辦法在datepicker工作之前給我的變量c一個值?我會感激你的建議。

+0

日期和時間有點不太關心網絡規格。 桌面和移動瀏覽器之間的行爲[變化很大] [1]。 如果你需要更可靠的解決方案,你應該尋找更豐富的日期選擇器組件,幾個搜索將彈出很多[體面選項] [2]。 [1]:http://caniuse.com/#feat=input-datetime [2]:https://www.google.com?q=ui%20angular%20datepicker – Sombriks

回答

0
<script type="text/javascript"> 
    $(".datepicker").click(function(){ 
     var a = "yy-mm-dd "; 
     var b = prompt("Ievadi laiku formātā hh-mm-ss", "00-00-00");  
    var c = a.concat(b); 
    if (c.length > 0){ 
     $(".datepicker").datepicker({dateFormat: c}); 
     }}); 

    </script> 

如果聲明解決了這個問題。但它沒有t work every time. I明天會檢查。

編輯:這項作品 - https://jsfiddle.net/gne64yd5/20/

+0

如果你已經回答了你自己的問題,你應該接受答案。 – RobG

+0

https://jsfiddle.net/gne64yd5/20/這就是我finnaly讓一切按我想要的方式工作。 – anthropophagus