城市联动日期联动是个很常用的功能,实现起来也各式各样,下面记录一个比较清楚简单的方法,以备今后查询。
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实现城市联动、日期联动示例的资料请关注九品源码其它相关文章!