JS——省市二级联动

1、核心代码:

<script>
            var cities = new Array(11);
            cities[0] = new Array("东城区","西城区" ,"崇文区", "宣武区" ,"朝阳区" ,"丰台区","石景山区" ,"海淀区门" ,"头沟区");
            cities[1] = new Array();
            cities[2] = new Array();
            cities[3] = new Array();
            cities[4] = new Array();
            cities[5] = new Array();
            cities[6] = new Array();
            cities[7] = new Array();
            cities[8] = new Array();
            cities[9] = new Array();
            cities[10] = new Array();
            cities[11] = new Array();
            function changeCity(val){
                var cityEle = document.getElementById("city");
                cityEle.options.length=0;
                for(var i=0;i<cities.length;i++){
                    if(val==i){
                        for(var j=0;j<cities[i].length;j++){
                            var textNode = document.createTextNode(cities[i][j]);
                            var opEle = document.createElement("option");
                            opEle.appendChild(textNode);
                            cityEle.appendChild(opEle);
                        }
                    }
                }
            }
</script>

其中用到了数组的遍历、DOM。

 <tr>
                            <td>籍贯</td>
                            <td>
                                <select onchange="changeCity(this.value)">
                                    <option>--请选择--</option>
                                    <option value="0">北京</option>
                                    <option value="1">上海</option>
                                    <option value="2">天津</option>
                                    <option value="3">重庆</option>
                                    <option value="4">黑龙江</option>
                                    <option value="5">吉林</option>
                                    <option value="6">辽宁</option>
                                    <option value="7">河南</option>
                                    <option value="8">湖北</option>
                                    <option value="9">湖南</option>
                                    <option value="10">台湾</option>
                                    <option value="11">澳门</option>
                                </select>
                                <select id="city">

                                </select>
                            </td>

2、完整代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>省市二级联动</title>
        <script>
            function showTips(id,info){
                document.getElementById(id+"span").innerHTML="<font color=‘gray‘>"+info+"</font>";
            }

            function check(id,info){
                var uValue = document.getElementById(id).value;
                if(uValue==""){
                    document.getElementById(id+"span").innerHTML="<font color=‘red‘>"+info+"</font>";
                }else{
                    document.getElementById(id+"span").innerHTML="";
                }
            }
        </script>

        <script>
            var cities = new Array(11);
            cities[0] = new Array("东城区","西城区" ,"崇文区", "宣武区" ,"朝阳区" ,"丰台区","石景山区" ,"海淀区门" ,"头沟区");
            cities[1] = new Array();
            cities[2] = new Array();
            cities[3] = new Array();
            cities[4] = new Array();
            cities[5] = new Array();
            cities[6] = new Array();
            cities[7] = new Array();
            cities[8] = new Array();
            cities[9] = new Array();
            cities[10] = new Array();
            cities[11] = new Array();
            function changeCity(val){
                var cityEle = document.getElementById("city");
                cityEle.options.length=0;
                for(var i=0;i<cities.length;i++){
                    if(val==i){
                        for(var j=0;j<cities[i].length;j++){
                            var textNode = document.createTextNode(cities[i][j]);
                            var opEle = document.createElement("option");
                            opEle.appendChild(textNode);
                            cityEle.appendChild(opEle);
                        }
                    }
                }
            }
        </script>
    </head>
    <body>
        <table border="1px" align="center" width="1300px" cellpadding="0px" cellspacing="0px">
            <tr>
                <td height="600px" ">
                    <form action="#" method="get" name="regForm" onsubmit="return checkForm()">
                        <table border="1px" width="450px" height="400px" align="center" cellpadding="0px" cellspacing="0px" bgcolor="white">
                            <tr>
                                <td>
                                            用户名
                                </td>
                                <td>
                                    <input type="text" name="user" size="34px" id="user"
                                        onfocus="showTips(‘user‘,‘用户名必填!‘)"
                                        onblur="check(‘user‘,‘用户名不能为空!‘)"/>
                                        <span id="userspan"></span>
                                </td>
                            </tr>

                            <tr>
                                <td>
                                    密码
                                </td>
                                <td>
                                    <input type="password" name="password" size="34px" id="password"
                                        onfocus="showTips(‘password‘,‘密码必填‘)"
                                        onblur="check(‘password‘,‘密码不能为空!‘)"/>
                                        <span id="passwordspan"></span>
                                </td>
                            </tr>

                            <tr>
                                <td>
                                    确认密码
                                </td>
                                <td>
                                    <input type="password" name="repassword" size="34px" id="repassword"></input>
                                </td>
                            </tr>

                            <tr>
                                <td>
                                    Email
                                </td>
                                <td>
                                    <input type="text" name="email" size="34px" id="email"/>
                                </td>
                            </tr>

                            <tr>
                                <td>
                                    姓名
                                </td>
                                <td>
                                    <input type="text" name="username" size="34px" id="username"></input>
                                </td>
                            </tr>

                            <tr>
                                <td>
                                    性别
                                </td>
                                <td>
                                    <input type="radio" name="sex" value="男"/>男
                                    <input type="radio" name="sex" value="女"/>女
                                </td>
                            </tr>

                            <tr>
                                <td>
                                    出生日期
                                </td>
                                <td>
                                    <input type="text" name="birthday" size="34px" id="birthday"></input>
                                </td>
                            </tr>

                            <tr>
                            <td>籍贯</td>
                            <td>
                                <select onchange="changeCity(this.value)">
                                    <option>--请选择--</option>
                                    <option value="0">北京</option>
                                    <option value="1">上海</option>
                                    <option value="2">天津</option>
                                    <option value="3">重庆</option>
                                    <option value="4">黑龙江</option>
                                    <option value="5">吉林</option>
                                    <option value="6">辽宁</option>
                                    <option value="7">河南</option>
                                    <option value="8">湖北</option>
                                    <option value="9">湖南</option>
                                    <option value="10">台湾</option>
                                    <option value="11">澳门</option>
                                </select>
                                <select id="city">

                                </select>
                            </td>
                        </tr>

                            <tr>
                                <td colspan="2">
                                    <center>
                                    <input type="submit" value="注册" />
                                    </center>
                                </td>
                            </tr>
                        </table>
                    </form>
                </td>
            </tr>
        </table>
    </body>
</html>

显示效果:

原文地址:https://www.cnblogs.com/zhai1997/p/12231980.html

时间: 2024-08-21 22:32:51

JS——省市二级联动的相关文章

js省市二级联动实例

//动态创建省市二级联动<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><select id="province" onchange="func1(this)"> </sele

原生js :省市二级联动

在网上把了半天像二级联动, 多是:依赖于其他框架数据修改... 于是就有了下面自写的二级联动(原生JS,面向对象,数据可订制修改不局限于省市) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>二级联动</title> </head> <body> <

js省市二级联动菜单,IE6,FF下测试通过

<html> <head> <meta http-equiv="Content-Language" content="zh-cn" /> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>二级联动js,IE6,FF下测试通过</title> <s

新生入学--JS省市二级联动下拉框

在新生入学过程中,会添加自己的个人信息,如生源地或者家庭住址等.像这样的信息如果让学生自己输入可能会出现不规范的现象,我们做统计的时候很不方便,所以设计成下拉框选择的形式,这样存进数据库中的数据就都是规范的了. 籍贯的选择涉及到我们全国的34个省市等,而且选择了每个省之后要相应的知道这个省的市到县,这就用到了下拉框的联动.以前在ASP.NET中是用过的,当时是两个控件的联动从数据库中直接查数据,在JS中也是同样的道理. 联动效果如下图: 接着说说代码,用到了JavaScript和html以及一些

JS省市二级联动

[文件] province.html ~ 7KB    下载(107) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74

js 省市二级联动

<html> <head> <meta charset="UTF-8"> <title></title> </head> <body onload="init()"> <form> 所在地区:<select name="province" id="param_province" onchange="provincec

省市二级联动--使用app-jquery-cityselect.js插件

只有省市二级联动,三级联动还没处理好,会尽快完善. 嵌入id: <div class="form-group"> <label>地址</label> <p>从:</p> <div class="input-group"> <input id="areaIdFrom" name="areaIdFrom" type="hidden"

(转)JavaScript html js 地区二级联动,省市二级联动,省市县js+xml三级联动

JavaScript html js 地区二级联动,省市二级联动,省市县js+xml三级联动 原文链接:http://heisetoufa.iteye.com/blog/353974 比较好的二级联动: 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <HTML> 3 <HEAD> 4 <TITLE> New Document </TITLE>

JS实现省市二级联动

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF