淺談Bootstrap的DatePicker日期范圍選擇
用日期插件時,經(jīng)常會有一種需求。兩個input框選擇。開始時間小于結(jié)束時間,結(jié)束時間大于開始時間,開始時間和結(jié)束時間都不大于當(dāng)前時間。
我們當(dāng)然可以用選擇的結(jié)果來判斷輸入正確與否。但是更好的辦法是讓我們的日期選擇插件做出一些限制。
Bootstrap搭配了很優(yōu)秀的日期選擇插件。DatePicker和DateTimePicker。
兩者功能很類似。使用方法也是差不多的。DatePicker支持更多的事件和設(shè)置。
看api知道日期變化的時候會有一個事件changeDate。當(dāng)選擇的日期變化的時候,會調(diào)用我們給這個事件的回調(diào)。但是遺憾的是當(dāng)我們直接在輸入框中輸入或刪除日期的時候貌似并不會觸發(fā)到這個事件。所以可以把input框添加屬性 readonly。只讀狀態(tài),并且給日期控件一個清除按鈕。這樣日期的變化正常情況下就只有通過日期插件來控制了。
然而當(dāng)使用DateTimePicker插件點擊清除按鈕的時候,會報錯 Uncaught TypeError: Cannot read property 'getTime' of null,結(jié)果導(dǎo)致changeDate事件也不能正常使用。
所以就改用DatePicker插件。
然后當(dāng)一個輸入框日期變化(包括清除)的時候,changeDate事件觸發(fā),在其回調(diào)函數(shù)里修改另一個輸入框的可選范圍。
另外,DatePicker要使界面顯示中文,也需要加載css。bootstrap-datepicker.zh-CN.min.js。
下面是代碼:
function DatePicker(beginSelector,endSelector){
// 僅選擇日期
$(beginSelector).datepicker(
{
language: "zh-CN",
autoclose: true,
startView: 0,
format: "yyyy-mm-dd",
clearBtn:true,
todayBtn:false,
endDate:new Date()
}).on('changeDate', function(ev){
if(ev.date){
$(endSelector).datepicker('setStartDate', new Date(ev.date.valueOf()))
}else{
$(endSelector).datepicker('setStartDate',null);
}
})
$(endSelector).datepicker(
{
language: "zh-CN",
autoclose: true,
startView:0,
format: "yyyy-mm-dd",
clearBtn:true,
todayBtn:false,
endDate:new Date()
}).on('changeDate', function(ev){
if(ev.date){
$(beginSelector).datepicker('setEndDate', new Date(ev.date.valueOf()))
}else{
$(beginSelector).datepicker('setEndDate',new Date());
}
})
}
DatePicker("#date_begin","#date_end");
Bootstrap DatePicker實現(xiàn)日期選擇 開始日期不大于結(jié)束時間,結(jié)束時間不小于開始時間,開始日期和結(jié)束日期都不大于當(dāng)前日期。
以上就是小編為大家?guī)淼臏\談Bootstrap的DatePicker日期范圍選擇全部內(nèi)容了,希望大家多多支持腳本之家~
- bootstrap datepicker的基本使用教程
- JS控件bootstrap datepicker使用方法詳解
- BootStrap Datepicker 插件修改為默認(rèn)中文的實現(xiàn)方法
- bootstrap datepicker限定可選時間范圍實現(xiàn)方法
- bootstrap datepicker 與bootstrapValidator同時使用時選擇日期后無法正常觸發(fā)校驗的解決思路
- BootStrap中Datepicker控件帶中文的js文件
- BootStrap的Datepicker控件使用心得分享
- bootstrap 日期控件 datepicker被彈出框dialog覆蓋的解決辦法
相關(guān)文章
Ajax實現(xiàn)文件上傳功能(Spring MVC)
這篇文章主要為大家詳細(xì)介紹了Ajax實現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-02-02
有關(guān)Ajax中g(shù)et和post的使用問題
下面小編就為大家?guī)硪黄嘘P(guān)Ajax中g(shù)et和post的使用問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
ajax獲取json數(shù)據(jù)為undefined原因分析
Ajax 允許在不干擾 Web 應(yīng)用程序的顯示和行為的情況下在后臺進(jìn)行數(shù)據(jù)檢索。這篇文章主要介紹了ajax獲取json數(shù)據(jù)為undefined--原因,需要的朋友可以參考下2017-11-11
Select2在使用ajax獲取遠(yuǎn)程數(shù)據(jù)時顯示默認(rèn)數(shù)據(jù)的方法
今天小編就為大家分享一篇Select2在使用ajax獲取遠(yuǎn)程數(shù)據(jù)時顯示默認(rèn)數(shù)據(jù)的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08
ajax異步傳值及后端接收參數(shù)的多種方式小結(jié)
這篇文章主要介紹了ajax異步傳值及后端接收參數(shù)的多種方式小結(jié),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11
活到老學(xué)到老學(xué)習(xí)AJAX跨域(三)
學(xué)習(xí)AJAX其實有個很重要的應(yīng)用,就是為了執(zhí)行另外幾個站點的ASP,返回結(jié)果。通過本文給大家介紹ajax跨域相關(guān)知識,需要的朋友參考下2016-02-02

