jQuery实现简易版列表联动

jQuery实现简易版列表联动

本文为学习过程中的总结,也许许多地方可能过于片面,考虑不周全,还望前辈们评论区批评指正呐!

简易版三级联动效果如下:

代码如下:

<!DOCTYPE HTML>
<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title>三级联动下拉框</title>
        <!--引入jquery的js库-->
        <script src="../js/jquery-1.4.2.js"></script>
        <script>
            $(function () {
                //定义国家+城市
                var Country_Province = {
                    "中国": ["北京", "浙江"],
                    "美国": ["A城", "B城"]
                };
                //定义城市+地区
                var Province_city = {
                    "北京": ["朝阳", "海淀"],
                    "浙江": ["杭州", "温州"],
                    "A城": ["C地区", "D地区"],
                    "B城": ["E地区", "F地区"]
                };
                //省份对象
                var $province = $("#province");
                //城市对象
                var $city = $("#city");

                //绑定onchange事件
                $("#country").change(function () {
                    //获取选中的国家
                    var country = $(this).val();
                    //根据国家得到对应的省份
                    var provinces = Country_Province[country];
                    //重置省份对应的元素
                    $province.html("<option>--请选择省份--</option>");
                    //遍历填写省份
                    for (var i = 0; i < provinces.length; i++) {
                        $("#province").append("<option>" + provinces[i] + "</option>");
                    }
                });

                $province.change(function () {
                    //获取选中的省份
                    var province = $(this).val();
                    //根据省份获取对应的城市
                    var cities = Province_city[province];
                    //找到城市对应的元素,清空

                    $city.html("<option>--请选择城市--</option>");
                    //遍历填写城市
                    for (var i = 0; i < cities.length; i++) {
                        $city.append("<option>" + cities[i] + "</option>");
                    }
                })
            })

        </script>
    </head>

    <body>

        <select id="country">
            <option >--请选择国家-</option>
            <option value="中国">中国</option>
            <option value="美国">美国</option>
        </select>

        <select id="province">
            <option>--请选择省份--</option>
        </select>

        <select id="city">
            <option>--请选择城市--</option>
        </select>
    </body>

</html>

总结一下注意的点:

  • jQuery的引入确实简化了JS代码,JS操纵DOM对象,而jQuery操纵jQuery对象,$()
  • this关键字仍然代表的是DOM对象,所以如果希望它调用jQuery的函数,可以转化一下:$(this)
  • JS与jQuery操纵不同的对象,因此函数或者事件之类的都是不相同的!比如像下拉框的绑定事件是change,而不是onchange,获取HTML内容为html(),而不是innerHTML属性,获取value值为val()等等。
  • html()可以获取HTML内容,html(String)可以设置HTML内容。
  • jQuery的文档就绪事件可以简写成:$(function () {...})

原文地址:https://www.cnblogs.com/summerday152/p/12384838.html

时间: 2024-10-18 07:48:06

jQuery实现简易版列表联动的相关文章

jQuery 简易版的无缝图片轮播切换

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <style> *{padding:0;margin:0;} ul,li{list-style:none;} .wrap{position: relative;width:200px;height:1

简易版聊天系统实现 Socket VS NIO两种实现方式

说是简单聊天系统,压根不能算是一个系统,顶多算个雏形.本文重点不在聊天系统设计和实现上,而是通过实现类似效果,展示下NIO 和Socket两种编程方式的差异性.说是Socket与NIO的编程方式,不太严谨,因为NIO的底层也是通过Socket实现的,但又想不出非常好的题目,就这样吧. 主要内容 Socket方式实现简易聊天效果 NIO方式实现简易聊天效果 两种方式的性能对比 前言 预期效果,是客户端之间进行"广播"式聊天,类似于QQ群聊天.希望以后有机会,以此简易版为基础,不断演进,演

JQuery+Ajax实战三级下拉列表联动(八)

本片文章为练习,项目中不会这样写: 一:涉及到的知识点: jQuery Dom操作 jQuery Ajax操作 ASP.net中的json操作 二:用了自动代码生成器 1.Dal层的代码: public static partial class BranchTwoService { /// <summary> /// 根据一级机构的ID得二级机构列表 /// </summary> /// <param name="branchOneId">1级机构I

Android学习之路——简易版微信为例(三)

最近好久没有更新博文,一则是因为公司最近比较忙,另外自己在Android学习过程和简易版微信的开发过程中碰到了一些绊脚石,所以最近一直在学习充电中.下面来列举一下自己所走过的弯路: (1)本来打算前端(即客户端)和后端(即服务端)都由自己实现,后来发现服务端已经有成熟的程序可以使用,如基于XMPP协议的OpenFire服务器程序:客户端也已经有成熟的框架供我们使用,如Smack,同样基于XMPP协议.这一系列笔记式文章主要是记录自己学习Android开发的过程,为突出重点(Android的学习)

Python写地铁的到站的原理简易版

Python地铁的到站流程及原理(个人理解) 今天坐地铁看着站牌就莫名的想如果用Python写其工作原理 是不是很简单就小试牛刀了下大佬们勿喷纯属小弟个人理解 首先来看看地铁上显示的站牌如下: 就想这首先站点固定的名称固定的站点名称长度可知道,这不是符合列表嘛[第一站,第二站,...,最后一站] 把这写站名放入列表中一个for循环自动帮你取每个站名 你可以加入time.sleep来设置每个站的之间的时间, 过长江隧道的时间可以单独加个if判断站名改变默认时间就行,这里还可以通过站名判断是否需要转

Android简易版天气预报app的实现(改进版)

最近总是有人来和我说我以前写的一个小app无法正常获取数据~Android简易版天气预报app 今天就又运行了下来查找问题,发现或许是接口有限制吧,不能在多台手机使用同个apikey 然后,发现了我写的代码实在乱七八糟,界面也实在不好看,就又重写了一遍,小小地修改了一遍,开发环境改为了Android Studio 最终效果图如下 工程图如下 一.获取地区信息 做这么一个天气预报app,首先就要获取到国内地区列表 (在我的另一篇博客有介绍:向任意网址发起数据请求) 中国天气网开放有天气预报接口,访

Android学习之路——简易版微信为例(二)

1 概述 从这篇博文开始,正式进入简易版微信的开发.深入学习前,想谈谈个人对Android程序开发一些理解,不一定正确,只是自己的一点想法.Android程序开发不像我们在大学时候写C控制台程序那样,需要从main开始写代码逻辑,大部分逻辑控制代码都由自己来实现.事实上,Android已经为我们提供了一个程序运行的框架,我们只需要往框架中填入我们所需的内容即可,这里的内容主要是:四大组件——Activity.Service.ContentProvider.BroadCast.在这四大组件中,可以

Vue初体验——用Vue实现简易版TodoList

最近在学习Vue,断断续续看完了官方教程的基础部分,想练一下手熟悉一下基本用法,做了一个简易版的TodoList 效果: 代码: HTML: 1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <title>TodoList</title> 6 <meta charset="utf-8"> 7 <!-- 为了让 Bootstrap 开发的网站对移动设备友好,确保适当的绘制和触屏缩放

MVC5+EF6 简易版CMS(非接口) 第三章:数据存储和业务处理

目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口) 第三章:数据存储和业务处理 MVC5+EF6 简易版CMS(非接口) 第四章:使用业务层方法,以及关联表解决方案 先来了解下各项的引用关系 FytCms.DALMSSQL=>Domain.Entity.EntityFramework BusinessLogic.Server=>FytCms.D