JavaScript_案例补充

#########JavaScript#########

 

 

 

## 案例一

 

1. 需求:
    点击一个按钮, 动态实现添加城市;

2. 实现步骤:
    1. 确定事件类型onclick
    2. 对于事件绑定一个函数addLiElement()
        1) 获取到用户在input输入框中填写的信息;
            city  = document.getElementById("city").value
            city  = document.getElementsByName("city")[0].value
        2). 创建一个城市的文本节点;document.createTextNode('xxxx')
        3). 创建一个li的元素节点; document.createElement('xxxx')
        4). 将文本节点添加到li元素节点里面去;
        5). 将整体添加到ul标签里面去;
            使用appendChild()来添加子节点;

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script>
        function addCity() {
            // 获取到用户在input输入框中填写的信息;
            var city = document.getElementById("city").value;
            // 创建一个城市的文本节点;
            var textNode = document.createTextNode(city);
            // 创建一个li元素节点;
            var liEleNode = document.createElement('li');
            // 将文本节点添加到li元素节点里面去;
            liEleNode.appendChild(textNode);
            // 将整体添加到ul标签里面去;
            var ulEleNode = document.getElementById('ul_city');
            ulEleNode.appendChild(liEleNode)
        }
    </script>
</head>
<body>
<input type="text" placeholder="请输入城市" id="city">
<input type="submit" value="添加城市" onclick="addCity()">
<ul id="ul_city">
    <li>北京</li>
    <li>上海</li>
    <li>西安</li>
    <li>沈阳</li>
</ul>
</body>
</html>

 

 

 

## 案例二

 

## 1. 需求分析
     省市的二级联动

## 2. 步骤实现

- 1). 确定事件类型onchange, 并为其绑定一个函数;
- 2). 修改下拉列表内容;
- 2-1). 获取用户选择的省份;
- 2-2). 创建一个二维数组, 用来存储省份和城市的对应关系;
- 2-3). 遍历二维数组中的省份;
- 2-4). 遍历时省份编号和用户选择的省份编号进行比较,
- 2-5). 如果相同, 遍历该省份下的所有城市;
        - 将每一个城市以<option>城市名</option>添加到select里面去;

- 2-6). 如果不相同, 继续循环遍历省份;

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            margin: 0 auto;
            text-align: center;
            margin-top: 10%;
        }
    </style>
    <script>
        function changeCity() {
            // 获取用户选择的省份;
            var choiceProvince = document.getElementById('province').value;
            // 创建一个二维数组,用来储存省份和城市的对应关系;
            var cities = new Array(3);
            // 默认的规则: 索引为0, 存储陕西的城市;
            cities[0] = new Array("西安", "宝鸡", "咸阳");
            cities[1] = new Array("成都", "乐山", "绵阳");
            cities[2] = new Array("沈阳", "鞍山", "铁岭");
            // 选择关于城市的下拉列表;
            var selectEleNode = document.getElementById('city');
            // 清空第二个下拉列表里面所有的option标签;
            selectEleNode.options.length = 0;
            // 遍历时省份编号和用户选择的省份编号进行比较;
            for (var i = 0; i < cities.length; i++) {
                // 此处比较的是省份编号
                if (choiceProvince == i) {
                    // 如果相同,遍历该省份下的所有城市;
                    for (var j = 0; j < cities[i].length; j++) {
                        // 创建城市文本节点;
                        var textNode = document.createTextNode(cities[i][j]);
                        // 创建option元素节点;
                        var optionEleNode = document.createElement("option");
                        // 将城市的文本节点追加到option元素节点里面去;
                        optionEleNode.appendChild(textNode);
                        // 将option节点内容追加到select节点里面去;
                        selectEleNode.appendChild(optionEleNode);
                    }
                }
            }
        }
    </script>
</head>
<body>
<form>
    <div>
        <span>籍贯:</span>
        <select id="province" onchange="changeCity()">
            <option>--省份--</option>
            <option value="0">陕西省</option>
            <option value="1">四川省</option>
            <option value="2">辽宁省</option>
        </select>
        <select id="city">
            <option>--市--</option>
        </select>
    </div>
</form>
</body>
</html>

 

 

 

 

 

####################################

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值