JS练习:两级联动

代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>两级联动</title>
    <script>
        //准备数据
        var provinces = [
            ["深圳市", "东莞市", "惠州市", "广州市"],
            ["长沙市", "岳阳市", "株洲市", "湘潭市"],
            ["厦门市", "福州市", "漳州市", "泉州市"]
        ];
        /*
            1. 确定事件: onchange
            2. 函数: selectProvince()
            3:
               得到当前操作元素
               得到当前选中的是那一个省份
               从数组中取出对应的城市信息

               动态创建城市元素节点
               添加到城市select中
        */
        function selectProvince() {
            var province = document.getElementById("province");
            //得到当前选中的是哪个省份
            var value = province.value;
            //从数组中取出对应的城市信息
            var cities = provinces[value];
            var citySelect = document.getElementById("city");
            //清空select中的option
            citySelect.options.length = 0;

            for (var i = 0; i < cities.length; i++) {
                var cityText = cities[i];
                //动态创建城市元素节点 <option>东莞市</option>
                //创建option节点
                var option1 = document.createElement("option"); //<option></option>
                //创建城市文本节点
                var textNode = document.createTextNode(cityText);//东莞市
                //将option节点和文本内容关联起来
                option1.appendChild(textNode);  //<option>东莞市</option>
                //添加到城市select中
                citySelect.appendChild(option1);
            }
        }
    </script>
</head>
<body>
<form action="">
    <!--选择省份-->
    <label for="province"></label>
    <select onchange="selectProvince()" id="province">
        <option value="-1">--请选择--</option>
        <option value="0">广东省</option>
        <option value="1">湖南省</option>
        <option value="2">福建省</option>
    </select>
    <!--选择城市-->
    <label for="city"></label>
    <select id="city"></select>
</form>
</body>
</html>

原文地址:https://www.cnblogs.com/believepd/p/10012642.html

时间: 2024-10-04 14:58:01

JS练习:两级联动的相关文章

JS 省市两级联动(不带地区版本)

基于网上找的一个版本改造,因为项目需求不需要地区只要省.市,所以做了改版,两个input上直接取出了数据 <html> <head> <script src="app/js/jquery-1.11.2.min.js"></script> <SCRIPT LANGUAGE="JavaScript"> var Items=new Array(); function add(id,iArray) { Items[

Combobox下拉框两级联动

下拉框的两级联动是我们开发中经常遇到一种情况.比如一个学生管理系统中,根据年级.科目及姓名查询学生考试成绩,年级和科目都是硬盘中的有限数据(数据库)而学生则可以有用户手动指定,这时在数据库中有年级和科目两张表,每门科目都对应一个年级,所以我们可以用两个下拉框(Combobox)来存储年级和科目信息来供用户选择.界面如下: 这时如果我们将科目对应的下拉框直接绑定科目表时,用户选择一个年级后还要从所有科目中进行选择就会降低系统的友好性,甚至可能出现没有任何意义的查询语句.我们可以先绑定年级下拉框的数

DropDownList绑定数据表实现两级联动示例

这篇文章主要介绍了DropDownList绑定数据表实现两级联动具体实现,需要的朋友可以参考下 场景一:平时我们在DropDownList控件下添加下拉选项时,都会使用它的Item.Add方法,直接在代码下添加.如果我们想添加或修改下拉选项,则必须去修改源代码.如果几个DropDownList控件的下拉选项相同,我们则需要重复添加好多次,后期的维护工作很不方便. 场景二:我们在12306网站买票时,肯定遇到过这么一种情景:我们需要先选定目的地的省份,选完省份后在城市选框中会自动加载该省份的城市,

故障管理系统--select两级联动查询

写故障管理系统时,根据主类-平台进行故障搜索,需要用到select两级联动查询 我前端技术纯菜鸟,请教了个水平高的同事才搞定,所以记录下来,以免以后再忘了 前端html <form id="tab" class="form-inline" role="form" action='/search/' method='GET' style="float:right;margin-top:-48px;margin-right:0px;&

NET:异步刷新,dropdownlist两级联动, Triggers

PS::我在论坛发了个求助帖子,居然没啥人回..好纠结啊... http://bbs.csdn.net/topics/390809330 目的:三个dropdownlist A  B   C,     要求实现  A  联动 C,   B 联动 C 涉及:ScriptManager .  UpdatePanel ,  Triggers,   AsyncPostBackTrigger ScriptManager 对象集:启用局部呈现 <asp:ScriptManager ID="Script

DropDownList控件:两级联动--【Asp.Net】

最近学习Asp.Net,发现很多控件都很有意思,例如:Canlender,AdRotator等.以前只知道有这样的页面效果,但是对这些控件了解并不多.不怕不知道,就怕不知道. DropDownList,两级联动,做这个demo的时候,让我又爱又恨. 一开始的时候,自己就草草的建立了一个Fresh的数据库,建立了一个Student表如下图所示: 在页面上面放了两个DropDownList,两个SqlDataSource.如下图所示: 下面就需要通过SqlDataSource设置数据源,让DropD

Jquery实现两级联动

最后结果如下: 关键代码如下: <select name="customerCondition['credibilityBegin']" id="credibilityBegin" class="ui_select01" style="width:90px" onchange="changeCredibility();"> <option value="" select

ASP_NET实现界面无刷新的DropdownList两级联动效果

所谓DropdownList联动,也就是在选一个DropdownList的时候使另外一个DropdownList的内容更新(如选省份时显示所属城市),按常规的方法那就是在第一个DropdownList的SelectedIndexChanged事件中改变第二个DropdownList的数据源及重新绑定,但是如果这样的话在每一次的重新选择将带来一次页面的刷新,除了屏幕闪动以外,如果同页有密码框的话,内容也会清除掉.这时我们就需要无刷新实现,基本原理在选择改变时用JS向另外一个隐藏页发送请求并得到一个

Thinkphp 两级联动

<!-- 前端代码部分--><div class="pop-movegroup" id="salesmanBox"> <dl> <dt>选择推广账号:</dt> <dd> <!-- 一级联动的数据先查询遍历出来--> <select name="salesman" id="salesman"> <volist name=&qu