簡體   English   中英

Bootstrap Datepicker在設置第一個日期字段后禁用過去日期

[英]Bootstrap Datepicker Disable Past Dates After First Date Field is Set

我正在使用基於Bootstrap 3主題的Wordpress網站。

在表格中,我需要包括日歷日期選擇器。 我從eyecon添加了一個js庫(Datepicker庫的演示網站) 我使用了日期選擇器,但是在設置出發時間時,我無法選擇到達字段的過去時間。

例如,如果出發時間設置為3月1日,則當用戶單擊彈出的日歷中的“到達”字段時,應禁用3月2日之前的所有日期。

我嘗試了在演示網站上給出的多個版本的代碼,但它們沒有用。 我認為問題可能是我在noConflict模式下使用jQuery。

我當前的腳本位於我主題的footer.php中。 日歷彈出窗口有效,並且它會禁用過去的日期,但是一旦設置了出發日期,它就不會在到達字段之前禁用日期。

這是最成功的嘗試,因為至少日歷彈出窗口正在進行此嘗試: http//jsfiddle.net/j5ZKc/

這是我目前的腳本:

<script type="text/javascript">
jQuery(function() {
  jQuery('#dp1, #dp2'
  ).datepicker({startDate: '-0m'}).on('changeDate', function(){
    jQuery( '#dp1, #dp2'
    ).datepicker('hide');
  })
});
</script>

有什么建議嗎?

所以經過一些麻煩我終於找到了適合你的東西:

jsFiddle Bootstrap-datepicker

我做了什么:

我使用了forked Bootstrap-datepicker 在我看來,這是更好的記錄和更容易使用。 我得到它的工作,所以應該計入一些東西。 例如,我通過在datepicker上調用getDate()來獲取相應日期選擇器的日期:

checkout.datepicker("getDate").valueOf()

如果您對我的代碼有任何疑問,請告訴我們!

編輯:

我更新了前jsFiddle(見上面的鏈接)。 它會自動將#dp2的值設置為#dp1 +一天的選定日期。 因此,您應該始終在正確的月份。

如果您不希望代碼在選擇日期后將焦點放在#dp2上,只需刪除jsFiddle中的以下行:

$('#dp2')[0].focus();

試試這段代碼:

$('#changestartdate').datetimepicker({ minDate:new Date() });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM