jquery编写日期选择器

发布时间 - 2026-01-11 00:12:51    点击率:

使用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"/>
<!--模态框-->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
 <div class="modal-dialog">
  <div class="modal-content">
   <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    <h4 class="modal-title" id="myModalLabel">日期</h4>
   </div>
   <div class="modal-body">
    <!--    内容-->
    <!--    三个下拉框-->
    <select id="nian"></select>年
    <select id="yue"></select>月
    <select id="ri"></select>日
   </div>
   <div class="modal-footer">

    <!--确定按钮加上事件,用来写点击事件-->
    <button type="button" class="btn btn-primary" id="queding">确定</button>
   </div>
  </div><!-- /.modal-content -->
 </div><!-- /.modal -->
</div>
</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吧

<button type="button" class="btn btn-primary" id="queding">确定</button>

设置好了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日期选择器  # jquery  # 选择器  # jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载  # jQuery之日期选择器的深入解析  # jQuery日期范围选择器附源码下载  # 文本框  # 模态  # 设为  # 来写  # 加载  # 若不是  # 正常显示  # 看图  # 当天  # 下拉框  # 来了  # 好了  # 让他  # 给他  # 就好  # 当我  # 五年  # 再来  # 弹出  # 做一个 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  iOS验证手机号的正则表达式  浅谈Javascript中的Label语句  java ZXing生成二维码及条码实例分享  微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】  Laravel如何实现用户密码重置功能?(完整流程代码)  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  网页设计与网站制作内容,怎样注册网站?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  高防服务器租用首荐平台,企业级优惠套餐快速部署  linux top下的 minerd 木马清除方法  Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  魔方云NAT建站如何实现端口转发?  打开php文件提示内存不足_怎么调整php内存限制【解决方案】  Swift中swift中的switch 语句  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  浅述节点的创建及常见功能的实现  电商网站制作价格怎么算,网上拍卖流程以及规则?  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  如何在阿里云购买域名并搭建网站?  Laravel集合Collection怎么用_Laravel集合常用函数详解  WEB开发之注册页面验证码倒计时代码的实现  laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法  如何破解联通资金短缺导致的基站建设难题?  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  如何快速重置建站主机并恢复默认配置?  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  如何在阿里云高效完成企业建站全流程?  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  如何快速使用云服务器搭建个人网站?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  nginx修改上传文件大小限制的方法  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何挑选优质建站一级代理提升网站排名?  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  三星、SK海力士获美批准:可向中国出口芯片制造设备  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  如何在建站之星网店版论坛获取技术支持?  微信小程序 配置文件详细介绍  怎样使用JSON进行数据交换_它有什么限制  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Bootstrap CSS布局之列表  Laravel如何实现一对一模型关联?(Eloquent示例)  Python文件异常处理策略_健壮性说明【指导】  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何配置Horizon来管理队列?(安装和使用)  如何在IIS中新建站点并配置端口与物理路径?