基于jQuery+JSON的省市联动效果

基于jQuery+JSON的省市联动效果

省市区联动下拉效果在WEB应用中使用非常广泛,尤其在一些会员信息系统、电商网站最为常见,开发者一般使用AJAX实现无刷新下拉联动。
本文将讲述利用jQuery插件,通过读取JSON数据,实现无刷新动态下拉省市二(三)级联动效果。

HTML
首先在head中载入jquery库和cityselect插件。

<script src="jquery.js"></script> 
<script src="jquery.cityselect.js"></script>

接下来,我们在#city中,放置三个select,并且三个select分别设置class属性为:prov、city、dist,分别表示省、市、区(县)三个下拉框。
如果只想实现省市二级联动,则去掉第三个dist的select即可。

<div id="city"> 
    <select class="prov"></select>  
    <select class="city" disabled="disabled"></select> 
    <select class="dist" disabled="disabled"></select> 
</div>

注意:这三个class的名称不能随便修改。

jQuery
调用cityselect插件非常简单,直接调用:

$(function(){
    $("#city").citySelect(); //这个city对应上面定义的div的id
});

自定义参数调用,设置默认省市区。

$("#city").citySelect({  
    url:"js/city.min.js",  
    prov:"湖南", //省份 
    city:"长沙", //城市 
    dist:"岳麓区", //区县 
    nodata:"none" //当子集无数据时,隐藏select 
});

注意:作者原文有很多读者留言说不能使用,主要就是这个url地址不对造成的,这个地址必须指向系统的根目录(很多项目的图片、JS和css都放在根目录的一个文件夹中,如这个目录是static,url地址就是:/static/js/city.min.js,要确保JS文件已放到此处),否则会读不到省市数据源,这就是很多读者反映的下拉列表为空的问题所在。

当然,你还可以扩展,自定义下拉列表选项数据,注意数据格式一定要为JSON格式。

$("#city").citySelect({ 
    url:{"citylist":[ 
        {"p":"前端技术","c":[{"n":"HTML"},{"n":"CSS","a":[{"s":"CSS2.0"},{"s":"CSS3.0"}]}, 
        {"n":"JAVASCIPT"}]}, 
        {"p":"编程语言","c":[{"n":"C"},{"n":"C++"},{"n":"PHP"},{"n":"JAVA"}]}, 
        {"p":"数据库","c":[{"n":"Mysql"},{"n":"SqlServer"},{"n":"Oracle"}]}, 
    ]}, 
    prov:"", 
    city:"", 
    dist:"", 
    nodata:"none" 
});

可以利用PHP等后台语言将数据库中的数据转换成JSON格式,然后使用url参数指向后台地址就能实现无刷新联动效果。

 

$("#city").citySelect({ 
    url:"data.php" 
});

文件下载地址:源码下载

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113452.html原文链接:https://javaforall.net

(0)
上一篇 2021年10月17日 下午11:00
下一篇 2021年10月17日 下午11:00


相关推荐

  • 新闻分析|OpenClaw走红凸显AI智能体潜力与风险

    新闻分析|OpenClaw走红凸显AI智能体潜力与风险

    2026年3月13日
    1
  • 汉字输入法演变

    汉字输入法演变摘自百度知道:https://zhidao.baidu.com/question/371212542972360284.html由于汉字有数以万计,电脑键盘不可能为每一个汉字而造一个按键。因此,人们需要替汉字编码(检索出汉字的代码),用数个键来输入一个汉字。中文输入法的发展过程,是“万码奔腾”的过程,在30年间出现了上千种编码方法。最早的汉字输入法,一般认为是从70年代末期或者8…

    2022年7月26日
    6
  • 读取ClientKey的另一种思路,无需注入DLL

    读取ClientKey的另一种思路,无需注入DLL需要注意的是 这种方法获取的 clientkey 长度是 224 位 和之前注入 dll 获取的不一样 注入 dll 获取的是 64 位的 clientkey 利用方法 64 字节 http ptlogin2 com jump ptlang 2052 amp clientuin 号码 amp clientkey 64 个字节的 KEY amp u1 需要登陆的服务网站地址 224 字节 htt

    2026年3月17日
    2
  • MYSQL安装出现问题(The service already exists)

    MYSQL安装出现问题(The service already exists)1.Zip解压后管理员身份运行cmd(系统win10)2.输入命令cd/dF:\mysql-5.7.19-win32\bin(此为解压目录)3.输入安装命令mysqldinstall出现问题Theservicealreadyexists这是由于之前已经安装过mysql并且没有删除干净4.重新以管理员身份运行,输入scquerymysql,查看一下名为mysql的

    2022年7月12日
    33
  • 实现公告栏无缝滚动的js代码(转)「建议收藏」

    实现公告栏无缝滚动的js代码(转)「建议收藏」<!DOCTYPEHTML><html><head><metacharset="gb2312"/><title&

    2022年7月1日
    24
  • 《炬丰科技-半导体工艺》无损伤清洗气泡振荡超音波技术

    《炬丰科技-半导体工艺》无损伤清洗气泡振荡超音波技术书籍 炬丰科技 半导体工艺 文章 无损伤清洗气泡振荡超音波技术编号 JFKJ 21 186 作者 炬丰科技关键词 无损伤清洗 稳定无剧烈空化 颗粒去除 超音波技术 单片清洗摘要使用具有极强腐蚀性的化学物质去除纳米颗粒表面晶圆 导致衬底损耗 这间接导致了 megasonics 的使用 提供声学汽蚀去除小颗粒 超音波确实会产生气泡空化对晶片结构施加机械力 产生剧烈的空化现象 如过渡空化或微空化喷射会破坏图案结构 本文提出了一种新的超音波技术该技术稳定地控制了气泡空化现象

    2026年3月17日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号