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 Div中加载其他页面的实现代码
Feb 27 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
Jan 13 Javascript
jQuery 数据缓存模块进化史详细介绍
Nov 19 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
Mar 19 Javascript
JS拖拽组件学习使用
Jan 19 Javascript
BootStrap响应式导航条实例介绍
May 06 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
Feb 08 Javascript
js统计页面上每个标签的数量实例代码
May 29 Javascript
layui中使用jquery控制radio选中事件的示例代码
Aug 15 jQuery
JavaScript 禁止用户保存图片的实现代码
Apr 28 Javascript
vue单文件组件无法获取$refs的问题
Jun 24 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 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文件注释标记及规范小结
2012/04/01 PHP
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
php递归json类实例
2014/12/02 PHP
php下Memcached入门实例解析
2015/01/05 PHP
深入理解PHP中的count函数
2016/05/31 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
document 和 document.all 分别什么时候用
2006/06/22 Javascript
JavaScript自定义事件介绍
2013/08/29 Javascript
js格式化输入框内金额、银行卡号
2016/02/01 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
Bootstrap3下拉菜单的实现
2017/02/22 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
JQuery事件委托原理与用法实例分析
2019/05/13 jQuery
JavaScript获取时区实现过程解析
2020/09/24 Javascript
在Python的while循环中使用else以及循环嵌套的用法
2015/10/14 Python
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
python cumsum函数的具体使用
2019/07/29 Python
python如何删除文件、目录
2020/06/23 Python
html5跳转小程序wx-open-launch-weapp踩坑
2020/12/02 HTML / CSS
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
中学生学习生活的自我评价
2013/10/26 职场文书
会计专业自我鉴定
2014/02/10 职场文书
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
法制宣传标语集锦
2014/06/25 职场文书
离婚协议书范本2014
2014/10/27 职场文书
2014年实习期工作总结
2014/11/27 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
员工辞退通知书
2015/04/17 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书
2019个人工作自我评价范文(3篇)
2019/09/19 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python