【技巧】最新最全的城市选择插件

这里写图片描述

【技巧】最新最全的城市选择插件


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>城市三级联动 - citys</title>
    <link rel="stylesheet" type="text/css" href="css/common.css">
    <link rel="stylesheet" type="text/css" href="css/cssreset-min.css">
    <style type="text/css">
        .citys{
            margin-bottom: 10px;
        }
        .citys p{
            line-height: 28px;
        }
        .warning{
            color: #c00;
        }
        table a{
            margin-right: 8px;
            color: #369;
        }
    </style>
    <script type="text/javascript" src="js/jquery-1.11.3.js"></script>
    <script type="text/javascript" src="js/jquery.citys.js"></script>
</head>
<body>
    <div class="main">
        <h1>第一种:通过地区编码初始化设置</h1>
        <hr/>
        <div class="code">
            <p>$('#demo').citys({code:110105});</p>
        </div>
        <div id="demo" class="citys">
            <p>
                <select name="province"></select>
                <select name="city"></select>
                <select name="area"></select>
            </p>
        </div>
        <script type="text/javascript">
            $('#demo').citys({code:110105});
        </script>
        <hr/>
        <br><br>
        <h1>第二种:通过地区名称初始化设置</h1>
        <hr/>
        <br>
        <div class="code">
            <p>$('#demo1').citys({province:'福建',city:'厦门',area:'思明'});</p>
        </div>
        <div id="demo1" class="citys">
            <p>
                <select name="province"></select>
                <select name="city"></select>
                <select name="area"></select>
            </p>
        </div>
        <script type="text/javascript">
            $('#demo1').citys({province:'福建',city:'厦门',area:'思明'});
        </script>
        <br>
        <hr/>
        <br><br>
        <h1>第三种:扩展显示行政区划第四级(街道)信息:</h1>
        <hr/>
        <div id="demo3" class="citys">
            <p>
                <select name="province"></select>
                <select name="city"></select>
                <select name="area"></select>
                <select name="town"></select>
            </p>
        </div>
        <div class="code">
    <pre>
        var $town = $('#demo3 select[name="town"]');
        var townFormat = function(info){
        $town.hide().empty();
        if(info['code']%1e4&&info['code']<7e6){ //是否为“区”且不是港澳台地区
            $.ajax({
                url:'http://passer-by.com/data_location/town/'+info['code']+'.json',
                dataType:'json',
                success:function(town){
                    $town.show();
                    for(i in town){
                            $town.append('&lt;option value="'+i+'"&gt;'+town[i]+'&lt;/option&gt;');
                    }
                }
            });
        }
        };
        $('#demo3').citys({
            province:'福建',
            city:'厦门',
            area:'思明',
            onChange:function(info){
                townFormat(info);
            }
        },function(api){
            var info = api.getInfo();
            townFormat(info);
        });
    </pre>
        </div>
        <script type="text/javascript">
            var $town = $('#demo3 select[name="town"]');
            var townFormat = function(info){
                $town.hide().empty();
                if(info['code']%1e4&&info['code']<7e5){ //是否为“区”且不是港澳台地区
                    $.ajax({
                        url:'http://passer-by.com/data_location/town/'+info['code']+'.json',
                        dataType:'json',
                        success:function(town){
                            $town.show();
                            for(i in town){
                                $town.append('<option value="'+i+'">'+town[i]+'</option>');
                            }
                        }
                    });
                }
            };
            $('#demo3').citys({
                province:'福建',
                city:'厦门',
                area:'思明',
                onChange:function(info){
                    townFormat(info);
                }
            },function(api){
                var info = api.getInfo();
                townFormat(info);
            });
        </script>
        <hr/>
        <br/>
        <div class="example">
            <div class="call">
                <h1>调用方法:</h1>
                <p>$(selector).citys(options,callback);</p>
            </div>
            <h2> options参数</h2>
            <table>
                <thead>
                <tr>
                    <th width="150">参数</th>
                    <th width="120">默认值</th>
                    <th>说明</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td>dataUrl</td>
                    <td>[数据库地址]</td>
                    <td>
                        <p>最新数据库(2016年12月):<a href="http://passer-by.com/data_location/list.json" target="_blank">JSON格式</a><a href="http://passer-by.com/data_location/list.jsonp" target="_blank">JSONP格式</a></p>
                        <p>数据库项目:<a href="https://github.com/mumuy/data_location" target="_blank">中国行政区划(省、市、区、街道)</a></p>
                    </td>
                </tr>
                <tr>
                    <td>dataType</td>
                    <td>'json'</td>
                    <td>
                        <p>数据库类型:'json'或'jsonp'</p>
                        <p class="warning">IE9-由于默认安全设置,需开启“通过域访问数据源”才能跨域访问json,此类情况建议使用jsonp格式</p>
                    </td>
                </tr>
                <tr>
                    <td>provinceField</td>
                    <td>'province'</td>
                    <td>省份(省级)字段名</td>
                </tr>
                <tr>
                    <td>cityField</td>
                    <td>'city'</td>
                    <td>城市(地级)字段名</td>
                </tr>
                <tr>
                    <td>areaField</td>
                    <td>'area'</td>
                    <td>地区(县区级)字段名</td>
                </tr>
                <tr>
                    <td>code</td>
                    <td>0</td>
                    <td>地区编码</td>
                </tr>
                <tr>
                    <td>province</td>
                    <td>[无]</td>
                    <td>省份(省级),可以为地区编码或者名称</td>
                </tr>
                <tr>
                    <td>city</td>
                    <td>[无]</td>
                    <td>城市(地级),可以为地区编码或者名称</td>
                </tr>
                <tr>
                    <td>area</td>
                    <td>[无]</td>
                    <td>地区(县区级),可以为地区编码或者名称</td>
                </tr>
                <tr>
                    <td>required</td>
                    <td>true</td>
                    <td>是否必须选中(是否自动选择地区)</td>
                </tr>
                <tr>
                    <td>nodata</td>
                    <td>'hidden'</td>
                    <td>当无数据时的表现形式:'hidden'隐藏,'disabled'禁用,为空不做任何处理</td>
                </tr>
                <tr>
                    <td>onChange</td>
                    <td>[无]</td>
                    <td>地区切换时触发,回调函数传入地区信息:direct是否为直辖市,province省份(省级)名称,city城市(地级)名称,area地区(县区级)名称,code地区编码</td>
                </tr>
                </tbody>
            </table>
            <h2>callback(api)参数</h2>
            <table>
                <thead>
                <tr>
                    <th width="200">方法</th>
                    <th>说明</th>
                </tr>
                </thead>
                <tbody>
                <tr>
                    <td>getInfo(data)</td>
                    <td>获取当前选中的地区信息:direct是否为直辖市,province省份(省级)名称,city城市(地级)名称,area地区(县区级)名称,code地区编码</td>
                </tr>
                </tbody>
            </table>
        </div>
    </div>
</body>
</html>

注意:需要用到的文件如下:

原HTML:点这里

jquery.citys.js:点这里

common.css:点这里

cssreset-min.css:点这里

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值