2014-12-29 82 views
0

我目前正在開發一個項目,我需要使用jQuery datepicker。除了一個要求之外,一切都很好,用戶需要能夠輸入「smartdate」。智能日期是一種簡便的語法,用於在將來或過去輕鬆生成日期X天數。輸入日期的語法是加號(+)或減號( - ),後跟一個整數,表示從今天開始的天數。我已經在我的datepicker配置上設置了constrainInput標誌,以允許用戶輸入標誌。我的問題是這樣的:在輸入數字字符的每個實例中,我希望日曆更新以顯示當前「選定」日期,但在使用setDate操作的位置,日期選擇器控制輸入並更改用戶輸入的文本。我鑽研源代碼了一下,發現_setDate方法稱爲noChange但傳遞標誌以下列方式中的第二參數沒有任何影響:更新jQuery Datepicker UI而不更改關聯的輸入

$ele.datepicker('setDate', date, true);

我不熟悉不夠用的各種jQuery UI和日期選擇器插件本身在這個組件中引發的抽象級別,所以我很難設計出一個解決方案,而無需花太多時間來挖掘源代碼。

有沒有人能爲我提供一些幫助?這將非常感謝!

而對於那些希望看到一些代碼,你可以在這裏看看我的codepen:'Smart Date Module'

第二個輸入的用戶輸入,第一個是它的模型後盾角。

回答

0

也許我誤解了你的問題,但你爲什麼不在調用datePicker setDate之後在輸入中重新設置用戶值?這將更新每個按鍵之後的日期選擇日期,將讓用戶價值輸入:

$($ele[0]).datepicker('setDate', date); 
$ele.val(value); 

我更新了codepen以反映更改。

告訴我,如果這不是你所期望的。

+0

這正是我正在尋找的功能類型。我沒有意識到「答案」會如此簡單。我把答案放在引號中,因爲我仍然覺得這有點冒險,但考慮更多,我沒有看到任何長期問題。我認爲我很擔心反饋循環,但是由於設置輸入的值不會觸發更改事件,所以它可以工作。去搞清楚!謝謝你的幫助! – THEtheChad

相關問題