JS中使用new Option()實(shí)現(xiàn)時(shí)間聯(lián)動(dòng)效果
1、基礎(chǔ)準(zhǔn)備:
先來了解下,如何運(yùn)用js實(shí)現(xiàn)select動(dòng)態(tài)添加option。
//1.動(dòng)態(tài)創(chuàng)建select function createSelect(){ var mySelect = document.createElement("select"); mySelect.id = "mySelect"; document.body.appendChild(mySelect); } //2.添加選項(xiàng)option function addOption(){ //根據(jù)id查找對(duì)象, var obj=document.getElementById('mySelect'); //添加一個(gè)選項(xiàng) obj.add(new Option("文本","值")); //方法一: obj.options.add(new Option("text","value")); //方法二: for(var i=0;i<10;i++){ obj.options[i]=new Option("新文本","新值"); //方法三: } } //3.刪除所有選項(xiàng)option function removeAll(){ var obj=document.getElementById('mySelect'); obj.options.length=0; } //4.刪除一個(gè)選項(xiàng)option function removeOne(){ var obj=document.getElementById('mySelect'); var index=obj.selectedIndex; //index,要?jiǎng)h除選項(xiàng)的序號(hào) obj.options.remove(index); } //5.獲得選項(xiàng)option的值 var obj=document.getElementById('mySelect'); var index=obj.selectedIndex; //序號(hào),取當(dāng)前選中選項(xiàng)的序號(hào) var val = obj.options[index].value; //6.獲得選項(xiàng)option的文本 var obj=document.getElementById('mySelect'); var index=obj.selectedIndex; var val = obj.options[index].text; //7.修改選項(xiàng)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、時(shí)間聯(lián)動(dòng)實(shí)戰(zhàn)
時(shí)間聯(lián)動(dòng)的要點(diǎn)就是天數(shù)隨月份變化,考慮閏年,口訣:四年一閏,百年不閏,四百年再閏。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>日期和年份月份聯(lián)動(dòng)demo</title> </head> <body> <select id="year"> <option value="">請(qǐng)選擇年份</option> </select> <select id="month"> <option value="">請(qǐng)選擇月份</option> </select> <select id="day"> <option value="">請(qǐng)選擇日期</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)); //格式不要寫錯(cuò),不要寫成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]++; //判斷為閏年,二月天數(shù)加一 } for (i = 1; i <= Days[month.value - 1]; i++) { day.options.add(new Option((i + "日"), i)); } } } //刷新日期天數(shù) year.onchange = function () { d(); } month.onchange = function () { d(); } </script> </body> </html>
總結(jié)
以上所述是小編給大家介紹的JS中使用new Option()實(shí)現(xiàn)時(shí)間聯(lián)動(dòng)效果,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
javascript 獲取radio的value的函數(shù) [已測(cè)]
javascript 獲取radio的value的函數(shù) 如果與asp,php等后臺(tái)語言結(jié)合時(shí),一般用不到,但在純js環(huán)境下是必須的。2009-06-06JavaScript中常見的七種繼承及實(shí)現(xiàn)
JS的繼承方式在我們面試的時(shí)候經(jīng)常會(huì)被問到,所以深入理解js繼承方式以及它們的優(yōu)缺點(diǎn)是非常有必要的。本文為大家整理了JavaScript中常見的七種繼承及實(shí)現(xiàn),需要的可以參考一下2023-03-03layui的表單驗(yàn)證支持ajax判斷用戶名是否重復(fù)的實(shí)例
今天小編就為大家分享一篇layui的表單驗(yàn)證支持ajax判斷用戶名是否重復(fù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09微信小程序?qū)崿F(xiàn)select二級(jí)下拉
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)select二級(jí)下拉效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07javascript實(shí)現(xiàn)很浪漫的氣泡冒出特效
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)很浪漫的氣泡冒出特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2015-11-11Javascript摸擬自由落體與上拋運(yùn)動(dòng)原理與實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Javascript摸擬自由落體與上拋運(yùn)動(dòng),結(jié)合實(shí)例形式分析了Javascript摸擬自由落體與上拋運(yùn)動(dòng)相關(guān)原理、實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2020-04-04全面解析Bootstrap中transition、affix的使用方法
這篇文章主要為大家詳細(xì)解析了Bootstrap中transition、affix的使用方法,感興趣的朋友可以參考一下2016-05-05JS FormData對(duì)象使用方法實(shí)例詳解
這篇文章主要介紹了JS FormData對(duì)象使用方法,結(jié)合實(shí)例形式詳細(xì)分析了FormData對(duì)象的基本功能、原理及使用方法,需要的朋友可以參考下2020-02-02