三级联动下拉菜单制作:
Html代码如下,第一级是国家,第二级是省份,第三级是城市,最后还有个填写详细地址的输入框.
<select name="gj" id="gj" onchange="jihuo();"></select>
<select name="sf" id="sf" disabled="disabled" onchange="jihuo();"></select>
<select name="cs" id="cs" disabled="disabled" onchange="jihuo();"></select>
<input name="xxdz" id="xxdz" type="text" disabled="disabled" value="" />要求的功能是默认国家下拉菜单为可选状态,其他为不可用状态,选择了中国后,省份激活可选择,其他仍然为不可用状态,选择省份后城市激活,详细地址则为不可用状态,选择城市后,则激活详细地址输入框.若选择不是中国,则直接激活输入框,其他为不可用状态以下是简单的只有有限的几个地区的效果:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>简单的测试效果</title>
<script language="javascript">
function jihuo()
{//连续激活
if(document.getElementById("gj").value!="zg"){
document.getElementById("sf").disabled = true;
document.getElementById("cs").disabled = true;
document.getElementById("xxdz").disabled = null;
}
else{
document.getElementById("sf").disabled = null;
if(document.getElementById("sf").value==""){
document.getElementById("cs").disabled = true;
}
else{
document.getElementById("cs").disabled = null;
if(document.getElementById("cs").value==""){
document.getElementById("xxdz").disabled = true;
}
else{
document.getElementById("xxdz").disabled = null;
document.UserReg.xxdz.focus();
}
}
}
}
</script>
</head><body>
<form>
<div>单位所在地:</div>
<div>
<select name="gj" id="gj" onchange="jihuo();">
<option value="">--请选择国家--</option>
<option value="zg">中国人民共和国</option>
<option value="mg">美国</option>
<option value="yg">英国</option>
</select>
</div>
<div>
<select name="sf" id="sf" disabled="disabled" onchange="jihuo();">
<option value="">--请选择省份--</option>
<option value="hb">湖北</option>
<option value="cs">湖南</option>
</select>
</div>
<div>
<select name="cs" id="cs" disabled="disabled" onchange="jihuo();">
<option value="">--请选择城市--</option>
<option value="wh">武汉</option>
<option value="tm">天门</option>
</select>
</div>
<div>详细地址:</div>
<div>
<input name="xxdz" id="xxdz" type="text" disabled="disabled" value="" />
</div>
</form>
</body>
</html>现在需要整合全国的地区,找了很多网上现成的全国地区数组整合进去,始终无法实现效果.求解诀方案...感激不尽(真是泪流满面的弄了N天了...)
Html代码如下,第一级是国家,第二级是省份,第三级是城市,最后还有个填写详细地址的输入框.
<select name="gj" id="gj" onchange="jihuo();"></select>
<select name="sf" id="sf" disabled="disabled" onchange="jihuo();"></select>
<select name="cs" id="cs" disabled="disabled" onchange="jihuo();"></select>
<input name="xxdz" id="xxdz" type="text" disabled="disabled" value="" />要求的功能是默认国家下拉菜单为可选状态,其他为不可用状态,选择了中国后,省份激活可选择,其他仍然为不可用状态,选择省份后城市激活,详细地址则为不可用状态,选择城市后,则激活详细地址输入框.若选择不是中国,则直接激活输入框,其他为不可用状态以下是简单的只有有限的几个地区的效果:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>简单的测试效果</title>
<script language="javascript">
function jihuo()
{//连续激活
if(document.getElementById("gj").value!="zg"){
document.getElementById("sf").disabled = true;
document.getElementById("cs").disabled = true;
document.getElementById("xxdz").disabled = null;
}
else{
document.getElementById("sf").disabled = null;
if(document.getElementById("sf").value==""){
document.getElementById("cs").disabled = true;
}
else{
document.getElementById("cs").disabled = null;
if(document.getElementById("cs").value==""){
document.getElementById("xxdz").disabled = true;
}
else{
document.getElementById("xxdz").disabled = null;
document.UserReg.xxdz.focus();
}
}
}
}
</script>
</head><body>
<form>
<div>单位所在地:</div>
<div>
<select name="gj" id="gj" onchange="jihuo();">
<option value="">--请选择国家--</option>
<option value="zg">中国人民共和国</option>
<option value="mg">美国</option>
<option value="yg">英国</option>
</select>
</div>
<div>
<select name="sf" id="sf" disabled="disabled" onchange="jihuo();">
<option value="">--请选择省份--</option>
<option value="hb">湖北</option>
<option value="cs">湖南</option>
</select>
</div>
<div>
<select name="cs" id="cs" disabled="disabled" onchange="jihuo();">
<option value="">--请选择城市--</option>
<option value="wh">武汉</option>
<option value="tm">天门</option>
</select>
</div>
<div>详细地址:</div>
<div>
<input name="xxdz" id="xxdz" type="text" disabled="disabled" value="" />
</div>
</form>
</body>
</html>现在需要整合全国的地区,找了很多网上现成的全国地区数组整合进去,始终无法实现效果.求解诀方案...感激不尽(真是泪流满面的弄了N天了...)
解决方案 »
- EXT 使用accordion布局没有竖向滚动条
- JSP页面搜索引擎,在搜索框中输入关键字,在结果也中返回结果,结果标题中的关键字需要高亮显示,不知如何实现,请高手帮忙,谢谢!
- firefox下删除cookie无效
- 怎样用js解码GB2312格式的字符串
- 这个不知道有没有可能?我想了整整2天。
- 请问我如何用javascript打开服务器端的文件
- 如何在javascript中启动exe程序?
- 请教:比较日期的大小!!
- 求救,请各位高手帮忙。
- jquery fileupload 插件 在ie6 下无法拿到 data.result 数据
- 这段代码加密了?
- Ext如何动态修改HTML数据的操作方法???
var c1 = jQuery("#Catalog1").val(); //一级分类
if (c1 == "-1") {//如果一级分类等于 --请选择--
jQuery("#Catalog2").empty(); //二级分类
jQuery("#Catalog2").append("<option value='-1'>--请选择--</option>");
jQuery("#Catalog3").empty(); //三级分类
jQuery("#Catalog3").append("<option value='-1'>--请选择--</option>");
}
//页面刷新时 加载上次的内容
var hdc1 = jQuery("#hdc1").val(); //保持一级分类的hidden
var hdc2 = jQuery("#hdc2").val();
var hdc3 = jQuery("#hdc3").val(); if (hdc1 != "") {
SendCatalogAjax(hdc1, "#Catalog2", hdc2);
}
if (hdc2 != "") {
SendCatalogAjax(hdc2,"#Catalog3",hdc3);
} jQuery("#Catalog1").change(
function() {
var id = jQuery("#Catalog1").val();
if (id != "-1" && id != "") {
jQuery("#hdc1").val(id); //保存一级分类的值
SendCatalogAjax(id, "#Catalog2", "");
}
if (id == "-1") {
jQuery("#Catalog2").empty();
jQuery("#Catalog2").append("<option value='-1'>--请选择--</option>");
jQuery("#Catalog3").empty();
jQuery("#Catalog3").append("<option value='-1'>--请选择--</option>");
}
}
); jQuery("#Catalog2").change(
function() {
var id = jQuery("#Catalog2").val();
if (id != "" && id != "-1") {
jQuery("#hdc2").val(id); //保持二级分类的值
SendCatalogAjax(id, "#Catalog3", "");
}
if (id == "-1") {
jQuery("#Catalog3").empty();
jQuery("#Catalog3").append("<option value='-1'>--请选择--</option>");
}
}
);
jQuery("#Catalog3").change(
function() {
jQuery("#hdc3").val(jQuery("#Catalog3").val()); //保持三级分类的值
}
);
}
);
//发送ajax请求
function SendCatalogAjax(id, control, ced) {
if (id != 0) {
jQuery.ajax(
{
url: "GetChildCatalog.ashx", //一般处理程序 根据parentId的到父级 输出<option value='valueText'>text</option> 这样格式的字符串
data: { parentId: id },
success: function(data) {
jQuery(control).empty();
jQuery(control).append(data);
jQuery(control).val(ced);
}
}
);
}
}希望对你有帮助