2013-06-30 212 views
1

我有一個功能齊全的jQuery datepicker內嵌顯示在輸入字段下面。防止jQuery datepicker自動設置日期

我引用該字段的設置:

altField: "#id_of_field", 

有沒有其他設置。 Datepicker已加載文檔就緒。

我的問題是,今天的日期是在頁面加載時自動設置(在輸入字段中),無視該字段的狀態 - 無論它是否已經從服務器發送值或尚未設置。

如何防止datepicker在用戶點擊任何日期之前在輸入字段中設置值(通過它自己)?

UPDATE
演示:http://jsfiddle.net/2EYFE/3/

回答

1

我所希望的日期選擇器提供的設置來關閉自動設定日期,但沒有appearently。

下面是一個工作解決方案,其他答案混合在一起。

我在開始datepicker之前將字段的值存儲在變量中,然後用變量替換datepicker的值選擇。

var begin_day_value = $('#event_begin_day').attr('value'); 

$('#datepicker').datepicker({ 
    altField: "#event_begin_day" 
    }).datepicker('setDate', begin_day_value); 

http://jsfiddle.net/2EYFE/5/

+1

我很高興聽到它的作品。如果有些評論對你有幫助,你可以對他們加以讚揚。 :-) – vitozev

2

使用setDate方法可以清除輸入的磁場狀態是這樣的:

$("#myDate").datepicker(); 
$("#myDate").datepicker('setDate', null); 

編輯:http://jsfiddle.net/2EYFE/4/

+0

的演示中看到更新,我不能得到的setDate來解決這個問題。 –

+0

你可以檢查更新的答案中的小提琴,這不是你要找的結果嗎? – vitozev

+0

如果表單只在創建時使用,那就沒有問題了,但編輯時存儲的值將被這種方法清除。 –

0

Datapicker到分配不同的類別選中當前日期。您可以從當前日期的單元格中刪除類或重寫它:

當前日期 - UI狀態高亮

選定的日期 - 用戶界面態活性

因此,例如:

$("#your_element").datepicker(); 
$(".ui-datepicker .ui-state-hihglight").removeClass("ui-state-highlight"); 
+0

查看演示更新。 –

2

爲什麼在創建datepicker時不使用defaultDate選項?這是設置默認值的正確方法是自己

http://api.jqueryui.com/datepicker/#option-defaultDate

var myDefaultDate = new Date("October 1, 1975 11:13:00"); // save your default date here 

$('#datepicker').datepicker({ 
    altField: "#event_begin_day", 
    defaultDate: myDefaultDate 
}); 
相關問題