zoukankan      html  css  js  c++  java
  • 黄聪:基于jQuery+JSON的省市区三级地区联动

    查看演示:http://www.helloweba.com/demo/cityselect/

    源码下载:http://files.cnblogs.com/files/huangcong/cityselect.rar

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

    HTML

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

    <script type="text/javascript" src="js/jquery.js"></script> 
    <script type="text/javascript" src="js/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> 

    jQuery

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

    $("#city").citySelect();  

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

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

    当然,你还可以扩展,自定义下拉列表选项数据,你可以根据需要设置下拉内容,注意数据格式一定要为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" 
    }); 

  • 相关阅读:
    样式超出设定宽度显示显示省略号
    客户端存在潜在危险request.from
    MenuStrip如何设置快捷键
    SVN的使用方法
    长串英文字符不换行的解决办法
    thickbox使用
    System.Web.UI.UserControl”,因此此处不允许
    C#中实现拖动无边框Form窗体和窗体的起始位置
    (转)Altera Forum精彩问答汇总
    (转)如何以32 bit的方式存取SDRAM?
  • 原文地址:https://www.cnblogs.com/huangcong/p/5337188.html
Copyright © 2011-2022 走看看