基于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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 网站搭建中,怎么区分ASP和PHP

    网站搭建中,怎么区分ASP和PHP

    2021年9月22日
    46
  • 动态链接库(DLL)初始化例程失败_无法装入solidworks DLL文件

    动态链接库(DLL)初始化例程失败_无法装入solidworks DLL文件关于solidworks中的:动态链接库(DLL)初始化例失败的解决方法

    2022年10月21日
    4
  • 苹果开发者账号申请流程_最新苹果开发者申请

    苹果开发者账号申请流程_最新苹果开发者申请苹果开发者帐号申请流程

    2022年4月21日
    44
  • 服务器系统sm总线控制器驱动,sm总线控制器驱动

    服务器系统sm总线控制器驱动,sm总线控制器驱动SM总线控制器是全称SystemManagement,是主板控制芯片上的一个通信控制器,主板芯片技术中的一种,如果你遇到设备管理器中quotm总线控制器quot有一黄色问号,下载您所使用的主板最新的系统所对应的驱动程序,在安装了正确的主机板驱动程序后,系统将能够正确识别您所有的芯片,问题即可解决。sm总线控制器是什么?它是SystemManagement的缩写,是主板芯片技术中的一种,主要是用…

    2022年6月6日
    108
  • php avc,什么是AVC编码?简述H.264概念和发展

    php avc,什么是AVC编码?简述H.264概念和发展频编解码技术有两套标准,国际电联(ITU-T)的标准H.261、H.263、H.263+等;还有ISO的MPEG标准Mpeg1、Mpeg2、Mpeg4等等。H.264/AVC是两大组织集合H.263+和Mpeg4的优点联合推出的最新标准,最具价值的部分无疑是更高的数据压缩比。在同等的图像质量条件下,H.264的数据压缩比能比H.263高2倍,比MPEG-4高1.5倍。以下我们简单介绍H.264的…

    2022年9月16日
    3
  • Android系统五大布局详解Layout

    Android系统五大布局详解Layout我们知道Android系统应用程序一般是由多个Activity组成,而这些Activity以视图的形式展现在我们面前,视图都是由一个一个的组件构成的。组件就是我们常见的Button、TextEdit等等。那么我们平时看到的Android手机中那些漂亮的界面是怎么显示出来的呢?这就要用到Android的布局管理器了,网上有人比喻的很好:布局好比是建筑里的框架,组件按照布局的要求依次排列,就组成了用于

    2022年5月20日
    39

发表回复

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

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