城市联动日期联动是个很常用的功能,实现起来也各式各样,下面记录一个比较清楚简单的方法,以备今后查询。
1.城市联动
a.js代码部分:
- <head>
- <title></title>
- <script type="text/javascript">
- function addProvince()
- {
- var prov = document.getElementById("province");
- var provs = ["河南", "河北", "山西", "新疆"];
- prov.length = ;
- for (var i=;i<provs.length ; i++)
- {
- var op = document.createElement("option");
- op.value = provs[i];
- op.innerHTML = provs[i];
- prov.appendChild(op);
- }
- addCity();
- }
- function addCity()
- {
- var city = document.getElementById("city");
- var cities = [
- ["郑州市","洛阳市","开封市","南阳市"],
- ["石家庄市","邯郸市","保定市"],
- ["太原市","大同市","晋城市","运城市"],
- ["乌鲁木齐市","吐鲁番地区","哈密","昌吉"]
- ];
- var provIndex = document.getElementById("province").selectedIndex;
- city.length = ;
- for (var i=; i<cities[provIndex].length; i++)
- {
- var op = document.createElement("option");
- op.value = cities[provIndex][i];
- op.innerHTML = cities[provIndex][i];
- city.appendChild(op);
- }
- }
- </script>
- </head>
b.<body>中代码部分:
- <body onload="addProvince()">
- <center>
- <form method="post" >
- 省份:<select id="province" onchange="addCity()">
- </select>
- 城市:<select id="city">
- </select>
- </form>
- </center>
- </body>
2.日期联动:
a.js代码部分:
- <head>
- <title></title>
- <script type="text/javascript">
- function addOption()
- {
- for (var i=; i<; i++)
- {
- document.getElementById("year").options[i] = new Option(+i, +i);
- }
- for (var i=; i<=; i++)
- {
- document.getElementById("month").options[i-] = new Option(i, i);
- document.getElementById("month").options[].selected = true;
- }
- }
- function changeOption()
- {
- var yearIndex = document.getElementById("year").selectedIndex;
- var year = document.getElementById("year").options[yearIndex].value;
- var monthIndex = document.getElementById("month").selectedIndex;
- var month = document.getElementById("month").options[monthIndex].value;
- var isLeap = ((year % == && year % != ) || (year % == && year % == ));
- if (isLeap && (month == ))
- {
- for (var i=; i<=; i++)
- {
- document.getElementById("day").options[] = null;
- document.getElementById("day").options[] = null;
- document.getElementById("day").options[i-] = new Option(i, i);
- }
- }
- if (!isLeap && (month == ))
- {
- for (var i=; i<=; i++)
- {
- document.getElementById("day").options[] = null;
- document.getElementById("day").options[] = null;
- document.getElementById("day").options[] = null;
- document.getElementById("day").options[i-] = new Option(i, i);
- }
- }
- if (month == || month == || month == || month == || month == || month == || month == )
- {
- for (var i=; i<=; i++)
- {
- document.getElementById("day").options[i-] = new Option(i, i);
- }
- }
- if (month == || month == || month == || month == ) //判断是否为非2月
- {
- for (var i=; i<=; i++)
- {
- document.getElementById("day").options[] = null;
- document.getElementById("day").options[i-] = new Option(i, i);
- }
- }
- }
- </script>
- </head>
b.<body>中代码部分:
- <body onload="addOption();changeOption()">
- <form action="" method="post" >
- <select id="year" size="1" onchange="changeOption()">
- <option></option>
- </select>年
- <select id="month" size="1" onchange="changeOption()">
- <option></option>
- </select>月
- <select id="day" size="1">
- <option></option>
- </select>日
- </form>
- </body>
上面是年月日的三级联动和省市的二级联动的一个示例,也可以用json等实现,后面再说。
以上就是html+js实现城市联动、日期联动示例的详细内容,更多关于html+js实现城市联动、日期联动示例的资料请关注九品源码其它相关文章!