一个日期联动选择器,年月日联动显示,准确显示日期(包括闰年日期),可自定义日期范围。
效果预览:
程序说明
【select】
先说清空一个select,最简单的方法是把options的length设为0就可以了:
oSelect.options.length = 0;
给select添加option,有多个方法,如果用dom的标准方法是:
var op = document.createElement("option"); op.value = i; op.innerHTML = i; oSelect.appendChild(op);
对于option有更方便的方法:
oSelect.options.add(new Option(i, i));
其中new Option的第一个参数是显示的文本值,第二个是value值。
利用options.add的第二个可选参数可以把options插入到指定的索引位置,还有一个remove方法可以移除指定索引的options。
要注意的是options下标从0开始。
不过我这里用了一个看来比较笨的方法:
oSelect.options.length = iLength; for (var i = 0; i < iLength; i++) { oSelect.options[i].text = oSelect.options[i].value = iStart + i; }
别看这么笨,却是最有效率的,而且不用每次都清空select,下面可以测试一下:
<select id="testSel"></select> <div id="testShow"></div> <input name="" type="button" value="效率测试" id="testBtn" /> <script> document.getElementById("testBtn").onclick = function(){ var testSel = document.getElementById("testSel"), testShow = document.getElementById("testShow"), iMin = 0, iMax = 1000, dt; testShow.innerHTML = ""; dt = new Date().getTime(); var len = iMax - iMin + 1; testSel.options.length = len; for (var i = 0; i < len; i++) { testSel.options[i].text = testSel.options[i].value = iMin + i; } testShow.innerHTML += "笨方法:" + (new Date().getTime() - dt) + " 毫秒;"; dt = new Date().getTime(); testSel.options.length = 0; for (var i = iMin; i <= iMax; i++) { testSel.options.add(new Option(i, i)); } testShow.innerHTML += "new Option方法:" + (new Date().getTime() - dt) + " 毫秒;"; dt = new Date().getTime(); testSel.options.length = 0; for (var i = iMin; i <= iMax; i++) { var op = document.createElement("option"); op.value = i; op.innerHTML = i; testSel.appendChild(op); } testShow.innerHTML += "dom方法:" + (new Date().getTime() - dt) + " 毫秒;"; } </script>
还有一个更快的方法,就是使用outerHTML,但这个会对select本身操作而且不兼容就不推荐了。
最后就是设置默认项,一般的方法是设置selectedIndex属性:
oSelect.selectedIndex = iIndex;
但要注意的是在ie6如果用dom方法创建option,然后立即设置selectedIndex会无效。
可以测试一下(在ie6测试):
<select id="idSelected"></select> <input name="" type="button" value="默认项测试" id="testBtnSelected" /> <script> document.getElementById("testBtnSelected").onclick = function(){ var oSelect = document.getElementById("idSelected"); oSelect.options.length = 0; for (var i = 0; i <= 10; i++) { var op = document.createElement("option"); op.value = op.innerHTML = i; oSelect.appendChild(op); } oSelect.selectedIndex = 5; } </script>
除了换另外两个方法创建select,还有三个方法解决,首先可以在添加option的同时设置:
if(i == 4){ op.selected = true; }
还可以用setTimeout延迟一下:
setTimeout(function(){ oSelect.selectedIndex = iIndex; }, 0);
最后是比较推荐的用setAttribute来设置:
oSelect.options[iIndex].setAttribute("selected", "true");
注意这个方法如果结合笨方法使用的话在ff中会设置失败。
这样关于select的相关操作就介绍完了。
使用说明:
首先是实例化一个DateSelector,其中三个参数分别是年月日的select对象。
可选参数:
Year: 0,//年
Month: 0,//月
Day: 0,//日
MinYear: 0,//最小年份
MaxYear: 0,//最大年份
onChange: function(){}//日期改变时执行
相关推荐
总之,"js年月日三级联动代码"是通过JavaScript监听年份选择的改变,动态生成对应的月份和日期选项,以实现日期选择的联动效果。这个功能在许多网页表单中都很常见,对于用户输入日期提供了便利。在实际开发中,我们...
本文将详细讲解如何使用JavaScript来实现年月日的联动选择,以及在HTML中设置下拉框的选择。 首先,我们需要理解什么是联动选择。联动选择是指当用户在一个下拉框中做出选择时,其他相关的下拉框会自动更新其选项,...
本文将详细讲解如何使用JavaScript实现年、月、日三级联动的下拉框日期选择器。 首先,我们需要理解“三级联动”这个概念。在年月日的日期选择器中,"三级联动"意味着当用户在一级(年份)下拉框中选择一个年份后,...
为了实现一个完整的年月日时分秒`picker`选择器,我们需要进行以下步骤: 1. **创建组件结构**:首先,建立一个新的`WXML`(微信小程序的结构文件)和`WXSS`(样式文件),以及对应的`JS`(逻辑文件)来封装这个...
标题“年月日时分 --五级时间联动”表明我们要讨论的是一个具有五个级别的时间选择器,分别是年、月、日、时和分。这种联动意味着当用户在某一级别(如年)中做出选择时,其他级别(如月、日、时、分)会自动更新其...
在前端开发中,有时我们需要创建一个用户界面,其中包含选择日期的组件,这通常涉及到年、月、日的三级联动选择。"前端年月日三级联动用到的js文件data.zip"是一个压缩包,其中包含了实现这种功能的JavaScript代码。...
6. **样式和美化**:为了让年月日选择器更具吸引力,可以使用CSS或Bootstrap等前端框架进行样式定制,使其符合整体页面的风格。 在实际开发中,可能会有一个名为"jquery年月日"的压缩包,其中包含了实现这个功能的...
在实现年月日联动下拉框时,主要依赖于JQuery的选择器功能来获取元素,以及事件监听和触发来实现联动效果。 首先,我们需要三个下拉框元素,分别代表年、月、日。在HTML代码中,为这三个元素设置ID以便后续JQuery...
在IT领域,"年月日时分秒联动"通常指的是在软件或系统设计中实现的一种时间选择功能。这种功能允许用户以交互的方式选取特定的时间点,包括年、月、日、小时、分钟和秒,各个部分之间联动更新,确保所选时间的准确性...
然后,可以通过jQuery选择器找到这些元素,并调用插件方法来初始化和应用插件。 在实际应用中,这个插件可以广泛应用于各种表单中,尤其是在需要用户输入生日或特定日期的场景。它的使用不仅提升了用户界面的友好性...
最后,我们可以使用这个javascript 年月日联动实现核心代码来实现年月日四级联动的效果,例如在日期选择器中实现年月日的联动效果。 javascript 年月日联动实现核心代码是实现年月日四级联动的核心技术,可以广泛...
"时间选择器"和"三级联动选择器"是常见的交互元素,广泛应用于各种应用程序和网站中,尤其是那些需要用户输入特定时间或进行多级筛选的场景。 时间选择器是一种允许用户方便地选取日期、时间或者日期时间的组件。它...
可能需要调整布局或使用更灵活的组件,如日期选择器插件。 6. 优化性能:如果数据量很大,可以考虑使用异步加载或懒加载技术,只在用户需要时加载相应的数据,减少初次加载时的网络负担。 7. 错误处理:添加适当的...
通过以上分析,我们不仅理解了HTML年月日三下拉框联动的基本原理,还学习了如何使用JavaScript进行事件处理、操作DOM元素以及处理日期相关的逻辑。这种技术在构建用户友好的网页表单和日期选择器时非常有用。掌握...
在网页设计中,年、月、日三级联动通常指的是用户在选择日期时,选择年份会自动影响月份的选择,月份选择后又会影响日期的选择,这种功能常见于日期输入框。下面将详细介绍如何使用JavaScript实现这样的功能。 首先...
在网页开发中,用户界面经常需要提供选择日期的控件,这时“年月日三级联动下拉框”就显得尤为重要。这种设计模式可以为用户提供一个直观且高效的日期选择方式,通常由三个下拉菜单组成,分别对应年、月、日,用户...
在JavaScript(JS)编程中,实现年月日三级联动下拉框日期选择是一种常见的需求,尤其是在网页表单或交互式用户界面中。这种设计允许用户通过三个下拉菜单分别选择年、月和日,形成一个完整的日期。在这个"JS年月日...
这个代码库提供了一种优雅的解决方案,通过触屏点击输入框,可以弹出一个遮罩层,展示出生年月日的日期选择器,极大地提升了用户在手机端输入日期的便捷性。 jQuery,作为一款广泛使用的JavaScript库,以其简洁的...
标题中的"jQeruy年月日选择三级联动"指的是利用jQuery开发的一种日期选择器,它实现了年、月、日的逐级选择功能。这种功能在网页表单、日历应用或者需要用户输入日期的场景中非常常见。 首先,要实现这个功能,我们...
在提供的文件中,有两个资源:"jQuery年月日三级联动(生日)[无法初始化值]"和"js年月日三级联动下拉框选择日期插件"。这表明实现这一功能可能依赖于jQuery,一个广泛使用的JavaScript库,它简化了DOM操作和事件处理...