中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器-創(chuàng)新互聯(lián)

這篇文章主要介紹如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián),專注為中小企業(yè)提供官網(wǎng)建設(shè)、營(yíng)銷(xiāo)型網(wǎng)站制作、成都響應(yīng)式網(wǎng)站建設(shè)、展示型成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站等服務(wù),幫助中小企業(yè)通過(guò)網(wǎng)站體現(xiàn)價(jià)值、有效益。幫助企業(yè)快速建站、解決網(wǎng)站建設(shè)與網(wǎng)站營(yíng)銷(xiāo)推廣問(wèn)題。

一、js方式的日期選擇

(1)首先就是三個(gè)下拉列表了,點(diǎn)擊年、月、日顯示列表中的內(nèi)容,這樣就是要給這三個(gè)列表加“點(diǎn)擊事件”onclick

<select id="nian" onclick="biantian()"></select>年
<select id="yue" onclick="biantian()"></select>月
<select id="tian"></select>日

也就是這樣的效果:

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器

(2)寫(xiě)js方法

注意:年月日三個(gè)選擇框,那么就是要寫(xiě)三個(gè)方法

填充年的方法

function FillNian()
{
  var b = new Date(); //取當(dāng)前時(shí)間
  var nian = parseInt(b.getFullYear()); //取當(dāng)前年份
 
  var str = "";
 
  for(var i=nian-5;i<nian+6;i++) //顯示前后的5年
  {<br>    //判斷年的當(dāng)前選中,選中當(dāng)前的年份
    if( i==nian)
    {
      str = str+"<option selected='selected' value='"+i+"' >"+i+"</option>";
    }
    else
    {
      str = str+"<option value='"+i+"'>"+i+"</option>";
    }
  }
  //給id名是nian的下拉菜單中加添加html,html就是上面寫(xiě)到的str
  document.getElementById("nian").innerHTML = str;
}

寫(xiě)完了年方法,記得調(diào)用一下,查看效果如下:  

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器

(3)填充月的方法:這個(gè)和年的也是差不多,沒(méi)有什么大的變化

function FillYue()
{
  var b = new Date(); //取當(dāng)前時(shí)間
 var yue = parseInt(b.getMonth()+1); //取當(dāng)前月份
 
 var str = "";
 for(var i=1;i<13;i++) //循環(huán);月份是從1開(kāi)始,一年12個(gè)月,小于13
 {<br>         //判斷當(dāng)前月份的選中
 if( i==yue)
 {
   str = str+"<option selected='selected' value='"+i+"' >"+i+"</option>";
 }
 else
 {
   str = str+"<option value='"+i+"'>"+i+"</option>";
 }
 }
 document.getElementById("yue").innerHTML = str; //將str值寫(xiě)到id名是yue的下拉列表中
}

寫(xiě)完了月的方法,記得調(diào)用一下,查看效果如下: 

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器

(3)填充天的方法:和年和月的差不多,不一樣的就是月份不一樣,天數(shù)也是不一樣的

function FillTian()
{
 var b = new Date();
 var tian = parseInt(b.getDate()); //獲取當(dāng)前天數(shù)
 
 var yue = document.getElementById("yue").value; //找到月的值
 var nian = document.getElementById("nian").value; //找到年的值
 var ts = 31;
 
 //30號(hào)的月數(shù):月數(shù)是4、6、9、11時(shí),天數(shù)是30天
 if(yue==4 || yue==6 || yue==9 || yue==11)
 {
 ts=30;
 }
 
 //2月不同年的天
 if(yue==2)
 {<br>     //被4整除,同時(shí)不被100整除;或是被400整除的年
 if((nian%4==0 && nian%100 != 0) || nian%400==0)
 {
 ts = 29; //閏年
 }
 else
 {
 ts = 28; //平年
 }
 }
 
 var str = "";
 for(var i=1;i<ts+1;i++)
 {<br>     //判斷天數(shù)是否選中
 if( i==tian)
 {
 str = str+"<option selected='selected' value='"+i+"' >"+i+"</option>";
 }
 else
 {
 str = str+"<option value='"+i+"'>"+i+"</option>";
 }
 }
 document.getElementById("tian").innerHTML = str; //將str的值給id名是天的下拉列表
}

寫(xiě)完了日的方法,記得調(diào)用一下,查看整體效果如下: 

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器

閏年如下:

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器

二、Query+bootstrap的日期選擇器

想用jQuery和bootstrap,必須引入這兩個(gè)的包

<script src="../jquery-1.11.2.min.js"></script>
<script src="../dist/js/bootstrap.min.js"></script>
<script src="riqishijian.js"></script>
<link href="../dist/css/bootstrap.min.css" rel="stylesheet" type="text/css" />

進(jìn)入正題:點(diǎn)擊文本框會(huì)彈出個(gè)日期選擇的窗口,所以

(1)寫(xiě)個(gè)提示字,并且寫(xiě)個(gè)文本框

<input type="text" id="riqi" /> //最終顯示的日期時(shí)間的地方,文本框起個(gè)名字對(duì)其加事件

(2)寫(xiě)bootstrap的模態(tài)框,直接引用就可以

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 <div class="modal-dialog">
  <div class="modal-content"><br>       //標(biāo)題部分
   <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h5 class="modal-title" id="myModalLabel">日期選擇</h5> //顯示標(biāo)題的地方
   </div><br>       //主體部分
   <div class="modal-body">
    <select id="nian"> //年的下拉列表
    </select>
    <select id="yue"> //月的下拉列表
    </select>
    <select id="tian"> //天的下拉列表
    </select>
   </div><br>       //最后部分
   <div class="modal-footer">
    <button type="button" class="btn btn-default" data-dismiss="modal">關(guān)閉</button>
    <button type="button" class="btn btn-primary" id="sure">確定</button> //確定按鈕也要是加事件的,所以也要起個(gè)名字
   </div>
  </div><!-- /.modal-content -->
 </div><!-- /.modal -->
</div>

(3)考慮下怎么顯示這個(gè)彈出框?

單擊顯示日期的文本框再?gòu)棾鲞x擇框,那么就要對(duì)文本框設(shè)置事件

$("#riqi").click(function(){
 $('#myModal').modal('show'); //bootstrap直接提示怎么顯示彈窗,直接拿過(guò)來(lái)用就可以 
})

看下效果:

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器

(4)寫(xiě)jQuery頁(yè)面:年月日的方法其實(shí)和js的寫(xiě)法差不多,就是樣式和取賦方式和js有點(diǎn)區(qū)別,其他的沒(méi)有什么可以注意的

當(dāng)然,寫(xiě)完了jQuery方法,記得用的時(shí)候調(diào)用一下

jQuery頁(yè)面中的年、月、日的方法:和js中的邏輯都是一樣的(不多說(shuō))

//加載年份
function LoadNian()
{
 var date=new Date; //和js的方法一樣取當(dāng)前時(shí)間和年份
 var year=date.getFullYear();
  
 var str = "";
  
 for(var i=year-5;i<year+6;i++)
 {<br>         //判斷當(dāng)前年是否選中
  if(i==year)
  {
    str +="<option selected='selected' value='"+i+"'>"+i+"</option>";
  }
  else
  {
    str +="<option value='"+i+"'>"+i+"</option>";
  }
 }
  
 $("#nian").html(str); //也是將值寫(xiě)到年的下拉列表中
}
//加載月份
function LoadYue()
{<br>     //和js中的月份的邏輯都是一樣的
 var date=new Date;
 var yue=date.getMonth()+1; //取到當(dāng)前月份
  
 var str = "";
  
 for(var i=1;i<13;i++)
 {<br>         //判斷月份是否選中
  if(i==yue)
  {
    str +="<option selected='selected' value='"+i+"'>"+i+"</option>";
  }
  else
  {
    str +="<option value='"+i+"'>"+i+"</option>";
  }
 }
 $("#yue").html(str);
}
//加載天
function LoadTian()
{<br>     //和js中的邏輯是一樣的
 var date=new Date;
 var tian = date.getDate(); //取到天數(shù)
  
 var zs = 31; //總天數(shù)
 var nian = $("#nian").val(); //取到年的值
 var yue = $("#yue").val(); //取到月的值<br><br>     //也是天數(shù)是30天的月份
 if(yue == 4 || yue==6 || yue==9 || yue==11)
 {
   zs = 30;
 }
 else if(yue==2)
 {<br>         //判斷閏月的
  if((nian%4==0 && nian%100 !=0) || nian%400==0)
  {
    zs = 29;
  }
  else
  {
    zs = 28;
  }
 }
  
 var str = "";
  
 for(var i=1;i<zs+1;i++)
 {<br>         //判斷天數(shù)是否選中
  if(i==tian)
  {
   str +="<option selected='selected' value='"+i+"'>"+i+"</option>";
  }
  else
  {
   str +="<option value='"+i+"'>"+i+"</option>";
  }
 }
  
 $("#tian").html(str);
  
}

最后就是要選擇哪一年,后面的月和日都要變,那么就要在最開(kāi)始寫(xiě)

$(document).ready(function(e) {
 $("#nian").change(function(){ //選年改變天
    LoadTian();
  })
 $("#yue").change(function(){ //選月改變天
    LoadTian();
  })
});

(5)把選中的年月日的值傳入文本框中

$("#sure").click(function(){
 var nian = $("#nian").val(); //取到年的值
 var yue = $("#yue").val(); //取到月份的值
 var tian = $("#tian").val(); //取到天數(shù)的值
   
 var str = nian+"-"+yue+"-"+tian; //拼接字符串顯示年月日
 $("#riqi").val(str); //將值放到riqi的文本框中
 $('#myModal').modal('hide') //將彈窗關(guān)閉
})

這樣選擇器就結(jié)束了,看下整體效果:

單擊文本框,彈出日期選擇框

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器

選擇一個(gè)日期,單擊確定按鈕

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器

另外:也可以除了日期,也可以加上默認(rèn)時(shí)間

$("#sure").click(function(){
 var nian = $("#nian").val(); //取到年的值
 var yue = $("#yue").val(); //取到月份的值
 var tian = $("#tian").val(); //取到天數(shù)的值
 
 var d = new Date();
 var str = nian+"-"+yue+"-"+tian+" "+d.getHours()+":"+d.getMinutes()+":"+d.getDate() ; //拼接字符串顯示年月日,還有時(shí)間
 $("#riqi").val(str); //將值放到riqi的文本框中
 $('#myModal').modal('hide') //將彈窗關(guān)閉
})

選擇效果,后面的時(shí)間是自動(dòng)默認(rèn)顯示的:

如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器

日期選擇器兩種方法都可以使用。

以上是“如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.rwnh.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享題目:如何使用Query+bootstrap和js兩種方式實(shí)現(xiàn)日期選擇器-創(chuàng)新互聯(lián)
文章出自:http://www.rwnh.cn/article18/dghpgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、企業(yè)網(wǎng)站制作、云服務(wù)器、企業(yè)建站、品牌網(wǎng)站制作網(wǎng)站營(yíng)銷(xiāo)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)
宁化县| 吴桥县| 班玛县| 临湘市| 肃南| 游戏| 永丰县| 义马市| 天津市| 大关县| 富顺县| 扶风县| 绥阳县| 区。| 科尔| 本溪| 工布江达县| 芒康县| 习水县| 青冈县| 临汾市| 九江县| 修武县| 泰宁县| 土默特左旗| 民县| 海宁市| 怀集县| 五莲县| 云浮市| 布尔津县| 长汀县| 喀什市| 崇文区| 闵行区| 霸州市| 望都县| 土默特右旗| 揭阳市| 雅江县| 铜陵市|