大家都知道如何用jQuery實作日期選擇器嗎?本文主要介紹了jquery編寫日期選擇器的實作過程與方法,具有很好的參考價值。下面跟著小編一起來看吧,希望大家學完本文能實現自己的一個日期選擇器。
使用jquery做一個日期時間選擇器,最好使用bootstrap彈跳視窗
實作:
(1)點擊文字方塊彈出視窗;
(2)彈跳視窗裡面顯示日期時間選擇下拉
(3)年份取當年份前後五年
(4)月份固定12個月
# (5)天數根據年份與月份的變化而變化
(6)點擊確定,關閉彈窗,文本框裡面的時間編程選中時間
1.若是jQuery跟bootstrap彈窗,必須引入檔案包;
2.寫一個文字框,給他id用來寫事件;
3.去bootstrap裡面找到模態框,複製,黏上就行了;
4.把模態框裡沒用的東西去掉,加上三個下拉框;
#程式碼:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="dist/js/jquery-1.11.2.min.js"></script> <script src="dist/js/bootstrap.min.js"></script> <link href="dist/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet" type="text/css" /> </head> <body> <!--文本框--> <input type="text" id="rq"/> <!--模态框--> <p class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <p class="modal-dialog"> <p class="modal-content"> <p class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id="myModalLabel">日期</h4> </p> <p class="modal-body"> <!-- 内容--> <!-- 三个下拉框--> <select id="nian"></select>年 <select id="yue"></select>月 <select id="ri"></select>日 </p> <p class="modal-footer"> <!--确定按钮加上事件,用来写点击事件--> <button type="button" class="btn btn-primary" id="queding">确定</button> </p> </p><!-- /.modal-content --> </p><!-- /.modal --> </p> </body> </html>
主頁的東西都完事了,來寫js程式碼,js程式碼可以在script標籤裡寫,但是為了清晰,且用於日後方便實用,新建js檔案:
5.先讓他的文本框框裡顯示一下目前的時間:
來寫:
//文本框内显示当前时间: // 准备好: $(document).ready(function(e){ // 来获取时间: var date = new Date(); //获取年 var nian = date.getFullYear(); //获取月,记得加1 var yue = date.getMonth()+1; //获取天: var tian = date.getDate(); //打印,拼接字符串 $("#rq").val(nian+"-"+yue+"-"+tian); });
記得在主頁引用哦!看圖:
6.來寫文字方塊的點擊事件吧,讓他點擊文字方塊的時候彈出模態方塊:
//文本框点击事件: $("#rq").click(function(){ // 手动打开模态框的方法:找到模态框的id,根据Bookstrap里面的方法 $('#myModal').modal('show'); // 执行三个方法 fnian(); fyue(); ftian(); })
這樣當我點選文字方塊:看圖:
7.點選確定的事件先不要加,因為還要傳給他東西,先來寫那三個方法吧:
// 写方法, //加载年份的方法 function Fnian() { //先来取当前年份 var date = new Date(); var nian = date.getFullYear(); // 定义个变量来接收: var str = ""; //for循环走起: for(var i=nian-5;i<nian+6;i++) { //判断若是当前年份,设为value if(i==nian) { str = str + "<option selected='selected' value='" + i + "'>" + i + "</option>"; } else { //若不是,正常显示 str = str +"<option value='"+i+"'>"+i+"</option>"; } } $("#nian").html(str); } //加载月份的方法: function Fyue() { var date = new Date(); //获取月,记得加1 var yue = date.getMonth()+1; //先取当前月份: var date = new Date(); var yue = data.getMonth()+1; // 定义个变量来接收: var str = ""; // for循环走 for(var i=1;i<13;i++) { //判断若是当前月份,设为value if(i==yue) { str = str+"<option selected='selected' value='"+i+"'>"+i+"</option>"; } else { //若不是,正常显示 str = str +"<option value='"+i+"'>"+i+"</option>"; } } $("#yue").html(str); // document.getElementById("yue").innerHTML=str; } //加载天的方法 function Ftian() { //获取当天; var date = new Date(); var tian = date.getDate(); //把月份与年份取过来,用于判断: var nian = $("#nian").val(); var yue = $("#yue").val(); //设一个总数,判断完成后更改他就好 var zs = 31; //判断来了! if(yue==4||yue==6||yue==9||yue==11) { //若是4.6.9.11月,每月三十天 zs = 30; } else if(yue==2) { //若是2月,再判断,是否为闰年 if((nian%4==0 && nian%100!=0) || nian%400==0 ) { //若是闰年,2月29天 zs = 29; } else { //否则2月为28天 zs = 28; } } // for循环搞起 // 定义个变量来接收: var str = ""; //for循环走起: for(i=1;i<zs+1;i++) { //判断若是当天,设为value if(i==tian) { str = str + "<option selected='selected' value='" + i + "'>" + i + "</option>"; } else { //若不是,正常显示 str = str +"<option value='"+i+"'>"+i+"</option>"; } } $("#tian").html(str); }
好。載入年份、月份、天的方法都寫完了,上面已經執行了,
看下圖:
8.再來寫確定按鈕的點擊事件:
先為模態框裡面的確定按鈕加上上id吧
設定好了id,去寫事件:
//最后给确定按钮加点击事件 $("#queding").click(function(){ var nian = $("#nian").val(); var yue = $("#yue").val(); var tian = $("#tian").val(); $("#rq").val(nian+"-"+yue+"-"+tian); $('#myModal').modal('hide'); })
點擊關閉模態框,並傳去資料;
完成圖:
點選確定:
大家學會了嗎?趕快動手嘗試。
相關推薦:
以上是jquery編寫日期選擇器實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!