利用Query+bootstrap和js两种方式实现日期选择器
前言所谓日期选择是在下拉列表中选择年、月、日,年显示前后的五年,12个月,日就是有30、31、29、28天的区别,随着月份的变而变,本文介绍了利用Query+bootstrap和js实现日期选择器的两种方法,下面来一起学习学习吧。 一、js方式的日期选择(1)首先就是三个下拉列表了,点击年、月、日显示列表中的内容,这样就是要给这三个列表加“点击事件”onclick 年
也就是这样的效果: (2)写js方法 注意:年月日三个选择框,那么就是要写三个方法 填充年的方法 var str = "";
for(var i=nian-5;i<nian+6;i++) //显示前后的5年 写完了年方法,记得调用一下,查看效果如下: (3)填充月的方法:这个和年的也是差不多,没有什么大的变化 var str = "";
for(var i=1;i<13;i++) //循环;月份是从1开始,一年12个月,小于13 { //判断当前月份的选中 if( i==yue) { str = str+""; } else { str = str+""; } } document.getElementById("yue").innerHTML = str; //将str值写到id名是yue的下拉列表中 } 写完了月的方法,记得调用一下,查看效果如下: (3)填充天的方法:和年和月的差不多,不一样的就是月份不一样,天数也是不一样的 var yue = document.getElementById("yue").value; //找到月的值
var nian = document.getElementById("nian").value; //找到年的值 var ts = 31; //30号的月数:月数是4、6、9、11时,天数是30天 //2月不同年的天 var str = ""; 写完了日的方法,记得调用一下,查看整体效果如下: 闰年如下: 二、Query+bootstrap的日期选择器想用jQuery和bootstrap,必须引入这两个的包 进入正题:点击文本框会弹出个日期选择的窗口,所以 (1)写个提示字,并且写个文本框 //最终显示的日期时间的地方,文本框起个名字对其加事件(2)写bootstrap的模态框,直接引用就可以 (3)考虑下怎么显示这个弹出框? 单击显示日期的文本框再弹出选择框,那么就要对文本框设置事件 看下效果: (4)写jQuery页面:年月日的方法其实和js的写法差不多,就是样式和取赋方式和js有点区别,其他的没有什么可以注意的 当然,写完了jQuery方法,记得用的时候调用一下 jQuery页面中的年、月、日的方法:和js中的逻辑都是一样的(不多说) var str = "";
for(var i=year-5;i<year+6;i++) $("#nian").html(str); //也是将值写到年的下拉列表中 //和js中的月份的逻辑都是一样的
var date=new Date;
var yue=date.getMonth()+1; //取到当前月份
var str = ""; for(var i=1;i<13;i++) //和js中的逻辑是一样的
var date=new Date;
var tian = date.getDate(); //取到天数
var zs = 31; //总天数 var str = ""; for(var i=1;i<zs+1;i++) $("#tian").html(str); } 最后就是要选择哪一年,后面的月和日都要变,那么就要在最开始写 (5)把选中的年月日的值传入文本框中 var str = nian+"-"+yue+"-"+tian; //拼接字符串显示年月日
$("#riqi").val(str); //将值放到riqi的文本框中 $('#myModal').modal('hide') //将弹窗关闭 }) 这样选择器就结束了,看下整体效果: 单击文本框,弹出日期选择框 选择一个日期,单击确定按钮 另外:也可以除了日期,也可以加上默认时间 var d = new Date();
var str = nian+"-"+yue+"-"+tian+" "+d.getHours()+":"+d.getMinutes()+":"+d.getDate() ; //拼接字符串显示年月日,还有时间 $("#riqi").val(str); //将值放到riqi的文本框中 $('#myModal').modal('hide') //将弹窗关闭 }) 选择效果,后面的时间是自动默认显示的: 日期选择器两种方法都可以使用。 总结以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |