JS中使用new Option()实现时间联动效果


Posted in Javascript onDecember 10, 2018

1、基础准备:

先来了解下,如何运用js实现select动态添加option。

//1.动态创建select
function createSelect(){
  var mySelect = document.createElement("select");
  mySelect.id = "mySelect"; 
  document.body.appendChild(mySelect);
}
//2.添加选项option
function addOption(){
  //根据id查找对象,
  var obj=document.getElementById('mySelect');
  //添加一个选项
  obj.add(new Option("文本","值"));  //方法一:
  obj.options.add(new Option("text","value")); //方法二:
  for(var i=0;i<10;i++){
    obj.options[i]=new Option("新文本","新值");  //方法三:
  }
}
//3.删除所有选项option
function removeAll(){
  var obj=document.getElementById('mySelect');
  obj.options.length=0;
}
//4.删除一个选项option
function removeOne(){
  var obj=document.getElementById('mySelect');
  var index=obj.selectedIndex;  //index,要删除选项的序号
  obj.options.remove(index);
}
//5.获得选项option的值
var obj=document.getElementById('mySelect');
var index=obj.selectedIndex;   //序号,取当前选中选项的序号
var val = obj.options[index].value;
//6.获得选项option的文本
var obj=document.getElementById('mySelect');
var index=obj.selectedIndex;  
var val = obj.options[index].text;
//7.修改选项option
var obj=document.getElementById('mySelect');
var index=obj.selectedIndex;  
var val = obj.options[index]=new Option("新文本","新值");
//8.删除select
function removeSelect(){
  var mySelect = document.getElementById("mySelect");
  mySelect.parentNode.removeChild(mySelect);
}

2、时间联动实战

时间联动的要点就是天数随月份变化,考虑闰年,口诀:四年一闰,百年不闰,四百年再闰。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title>日期和年份月份联动demo</title>
</head>
<body>
  <select id="year">
    <option value="">请选择年份</option>
  </select>
  <select id="month">
    <option value="">请选择月份</option>
  </select>
  <select id="day">
    <option value="">请选择日期</option>
  </select>
  <script>
    var year = document.getElementById("year");
    var month = document.getElementById("month");
    var day = document.getElementById("day");
    var y = new Date().getFullYear();
    //前后均有
    for (i = (y - 30); i < (y + 30); i++) {
      year.options.add(new Option(i + "年", i));
      //格式不要写错,不要写成add(new Option(i + "年"), i)。
    }
    //只写前或者后
    // for(var i=y;i>1977;i--){
    //   year.options[y+1-i]=new Option(i+"年",i);//索引是options[],增加是new option(text,value)
    // }
    for (i = 1; i < 13; i++) {
      month.options.add(new Option(i + "月", i));
    }
    var d = function () {
      day.length = 1; //初始化
      if (year.value == " " || month.value == " ") {
        return;
      } else {
        var Days = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
        if ((year.value % 4 == 0 && year.value % 100 != 0) || year.value % 400 == 0) {
          Days[1]++; //判断为闰年,二月天数加一
        }
        for (i = 1; i <= Days[month.value - 1]; i++) {
          day.options.add(new Option((i + "日"), i));
        }
      }
    }
    //刷新日期天数
    year.onchange = function () {
      d();
    }
    month.onchange = function () {
      d();
    }
  </script>
</body>
</html>

总结

以上所述是小编给大家介绍的JS中使用new Option()实现时间联动效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Jquery阻止事件冒泡 event.stopPropagation
Dec 11 Javascript
JavaScript日期对象(Date)基本用法示例
Jan 18 Javascript
Javascript之深入浅出prototype
Feb 06 Javascript
JavaScript阻止表单提交方法(附代码)
Aug 15 Javascript
基于jquery实现五星好评
Nov 18 jQuery
webpack4 入门最简单的例子介绍
Sep 05 Javascript
react高阶组件添加和删除props
Apr 26 Javascript
node.js express框架实现文件上传与下载功能实例详解
Oct 15 Javascript
原生js实现随机点名功能
Nov 05 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
angular inputNumber指令输入框只能输入数字的实现
Dec 03 Javascript
javascript实现滚轮轮播图片
Dec 13 Javascript
vue刷新页面时去闪烁提升用户体验效果的实现方法
Dec 10 #Javascript
移动端如何用下拉刷新的方式实现上拉加载
Dec 10 #Javascript
vue+Element-ui实现分页效果实例代码详解
Dec 10 #Javascript
JQuery实现ajax请求的示例和注意事项
Dec 10 #jQuery
微信小程序实现动态获取元素宽高的方法分析
Dec 10 #Javascript
PM2自动部署代码步骤流程总结
Dec 10 #Javascript
vue路由前进后退动画效果的实现代码
Dec 10 #Javascript
You might like
php 将excel导入mysql
2009/11/09 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
2020/02/27 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
javascript中节点的最近的相关节点访问方法
2013/03/20 Javascript
js实现单一html页面两套css切换代码
2013/04/11 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
js调用css属性写法
2013/09/21 Javascript
JS获取农历日期具体实例
2013/11/14 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
vue3 源码解读之 time slicing的使用方法
2019/10/31 Javascript
[10:54]Team Spirit vs Navi
2018/06/07 DOTA
Python中使用PyHook监听鼠标和键盘事件实例
2014/07/18 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
用Python将mysql数据导出成json的方法
2018/08/21 Python
python如何生成各种随机分布图
2018/08/27 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
Python实现京东秒杀功能代码
2019/05/16 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
Spring http服务远程调用实现过程解析
2020/06/11 Python
保安的辞职报告怎么写
2014/01/20 职场文书
音乐专业自荐信
2014/02/07 职场文书
运动会横幅标语
2014/06/17 职场文书
宣传标语大全
2014/07/01 职场文书
校运动会广播稿(100篇)
2014/09/12 职场文书
2014学习优秀共产党员先进事迹思想汇报
2014/09/14 职场文书
王金山在党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
先进个人自荐书
2015/03/06 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
python字符串的多行输出的实例详解
2021/06/08 Python
React四级菜单的实现
2022/04/08 Javascript