html+js实现城市联动、日期联动示例

前端开发   发布日期:2025年05月13日   浏览次数:184

城市联动日期联动是个很常用的功能,实现起来也各式各样,下面记录一个比较清楚简单的方法,以备今后查询。

1.城市联动

  a.js代码部分:

  1.   <head>
  2. <title></title>
  3. <script type="text/javascript">
  4. function addProvince()
  5. {
  6. var prov = document.getElementById("province");
  7. var provs = ["河南", "河北", "山西", "新疆"];
  8. prov.length = ;
  9. for (var i=;i<provs.length ; i++)
  10. {
  11. var op = document.createElement("option");
  12. op.value = provs[i];
  13. op.innerHTML = provs[i];
  14. prov.appendChild(op);
  15. }
  16. addCity();
  17. }
  18. function addCity()
  19. {
  20. var city = document.getElementById("city");
  21. var cities = [
  22. ["郑州市","洛阳市","开封市","南阳市"],
  23. ["石家庄市","邯郸市","保定市"],
  24. ["太原市","大同市","晋城市","运城市"],
  25. ["乌鲁木齐市","吐鲁番地区","哈密","昌吉"]
  26. ];
  27. var provIndex = document.getElementById("province").selectedIndex;
  28. city.length = ;
  29. for (var i=; i<cities[provIndex].length; i++)
  30. {
  31. var op = document.createElement("option");
  32. op.value = cities[provIndex][i];
  33. op.innerHTML = cities[provIndex][i];
  34. city.appendChild(op);
  35. }
  36. }
  37. </script>
  38. </head>

  b.<body>中代码部分:

  1.   <body onload="addProvince()">
  2. <center>
  3. <form method="post" >
  4. 省份:<select id="province" onchange="addCity()">
  5. </select>
  6. 城市:<select id="city">
  7. </select>
  8. </form>
  9. </center>
  10. </body>

2.日期联动:
  a.js代码部分:

  1. <head>
  2. <title></title>
  3. <script type="text/javascript">
  4. function addOption()
  5. {
  6. for (var i=; i<; i++)
  7. {
  8. document.getElementById("year").options[i] = new Option(+i, +i);
  9. }
  10. for (var i=; i<=; i++)
  11. {
  12. document.getElementById("month").options[i-] = new Option(i, i);
  13. document.getElementById("month").options[].selected = true;
  14. }
  15. }
  16. function changeOption()
  17. {
  18. var yearIndex = document.getElementById("year").selectedIndex;
  19. var year = document.getElementById("year").options[yearIndex].value;
  20. var monthIndex = document.getElementById("month").selectedIndex;
  21. var month = document.getElementById("month").options[monthIndex].value;
  22. var isLeap = ((year % == && year % != ) || (year % == && year % == ));
  23. if (isLeap && (month == ))
  24. {
  25. for (var i=; i<=; i++)
  26. {
  27. document.getElementById("day").options[] = null;
  28. document.getElementById("day").options[] = null;
  29. document.getElementById("day").options[i-] = new Option(i, i);
  30. }
  31. }
  32. if (!isLeap && (month == ))
  33. {
  34. for (var i=; i<=; i++)
  35. {
  36. document.getElementById("day").options[] = null;
  37. document.getElementById("day").options[] = null;
  38. document.getElementById("day").options[] = null;
  39. document.getElementById("day").options[i-] = new Option(i, i);
  40. }
  41. }
  42. if (month == || month == || month == || month == || month == || month == || month == )
  43. {
  44. for (var i=; i<=; i++)
  45. {
  46. document.getElementById("day").options[i-] = new Option(i, i);
  47. }
  48. }
  49. if (month == || month == || month == || month == ) //判断是否为非2月
  50. {
  51. for (var i=; i<=; i++)
  52. {
  53. document.getElementById("day").options[] = null;
  54. document.getElementById("day").options[i-] = new Option(i, i);
  55. }
  56. }
  57. }
  58. </script>
  59. </head>

  b.<body>中代码部分:

  1.   <body onload="addOption();changeOption()">
  2. <form action="" method="post" >
  3. <select id="year" size="1" onchange="changeOption()">
  4. <option></option>
  5. </select>
  6. <select id="month" size="1" onchange="changeOption()">
  7. <option></option>
  8. </select>
  9. <select id="day" size="1">
  10. <option></option>
  11. </select>
  12. </form>
  13. </body>

上面是年月日的三级联动和省市的二级联动的一个示例,也可以用json等实现,后面再说。

 

以上就是html+js实现城市联动、日期联动示例的详细内容,更多关于html+js实现城市联动、日期联动示例的资料请关注九品源码其它相关文章!