jQuery city城市字母分类选择插件

所属分类:输入-选择框

 44903  420  查看评论 (67)
分享到微信朋友圈
X
jQuery city城市字母分类选择插件 ie兼容8

更新时间:2022-03-20 00:09:02

更新说明:版本为1.0.5增加删除以及清空城市回调, 修复在取消选择内容的焦点后,选择内容已经隐藏了,但是点击原本位置的选项还是能点击到


更新时间:2017/9/25 上午11:37:24

更新说明:更新版本为1.0.3

解决网友“徨殇”提的增加县级数据,增加一个参数whole,显示市级还是市县级数据;但是要求的是开启这个,必须是引入数据源是citydata.js文件


更新时间:2017/8/31 下午4:04:01

更新说明:更新版本为1.0.2-修复“网友God2father”提的:点击清空操作后,不能再搜索的bug


更新时间:2017/8/21 上午10:17:57

更新说明:更新版本为1.0.1  修复搜索一次之后不能再搜索的bug,增加sass文件,方便修改样式


citySelect

citySelect是面向于PC端的一款基于JQuery的、整体功能都比较完善的拼音分类和集成搜索功能的城市选择插件。

Version1.0.2

Support

* Internet Explorer 8+

* Chrome for PC

* Safari for PC

* Firefox for PC

Integrations

* 支持拼音、名称模糊搜索功能

* 可以键盘操作选择

* 可以单选、多选模式切换

* 可以修改热门城市

Options

名称类型默认描述
dataJson[Array]默认空城市数据源
convert[Boolean]true(转换)转换数据,引入的数据源是citydata.js就需要转换;引入的是newcitydata.js就不需要
shorthand[Boolean]false(全称)名称的全称、简称
multiSelect[Boolean]false(单选)多选、单选
search[Boolean]true(搜索)开启搜索
multiMaximum[Number]5(最多可选5个城市)最多可选的城市个数(多选)
multiType[Number]0(多行)值允许1或者0;只用于多选,选中的值显示是一行还是多行
placeholder[String]'请选择城市'默认的提示语
searchPlaceholder[String]'输入关键词搜索'搜索文本框默认的提示语
hotCity[Array][](取前面18条数据)热门城市显示数据,传就生成热门城市,没有就插件生成
onInit[function]function () {}插件初始化后的回调
onForbid[function]function () {}插件禁止后再点击的回调
onTabsAfter[function]function (target) {}点击tabs切换显示城市后的回调
onTabsForbid[function]function (target) {}tabs禁止后再点击的回调
onCallerAfter[function]function (target, values) {}选择城市后的回调

使用方法

CSS

<link rel="stylesheet" type="text/css" href="css/city-select.css">

Javascript

<script src="https://cdn.bootcss.com/jquery/1.8.1/jquery.js"></script>
<script type="text/javascript" src="js/citydata.js"></script>
<script type="text/javascript" src="js/citySelect-1.0.0.js"></script>

Basic usage

class`city-select` 是必要的,不能把它去掉

单选

HTML

<div class="city-select" id="single-select-1"></div>

Javascript

var singleSelect1 = $('#single-select-1').citySelect({
    dataJson: cityData, //数据源
    multiSelect: false, //单选
    shorthand: true, //简称
    search: true, //搜索
    onInit: function() { //初始化回调
        console.log(this)
    },
    onTabsAfter: function(target) { //切换tab回调
        console.log(target)
    },
    onCallerAfter: function(target, values) { //选择后回调
        console.log(JSON.stringify(values))
    }
});

单选设置默认城市

singleSelect1.setCityVal('北京市');

多选

HTML

<div class="city-select" id="multi-select-1"></div>

Javascript

var MulticitySelect1 = $('#multi-select-1').citySelect({
    dataJson: cityData, //数据源
    multiSelect: true, //多选
    multiMaximum: 6, //可以选择的个数
    search: false, //关闭搜索
    onInit: function() { //初始化回调
        console.log(this)
    },
    onForbid: function() { //禁止后点击的回调
        console.log(this)
    },
    onTabsAfter: function(target) { //切换tab回调
        console.log(event)
    },
    onCallerAfter: function(target, values) { //选择后回调
        console.log(JSON.stringify(values))
    }
});

多选设置城市接口

MulticitySelect1.setCityVal('北京市, 天津市, 上海市, 广州市, 长沙市, 唐山市');
相关插件-选择框
  选择框
 52620  470

jQuery下拉框多选

下拉字母多选框
  选择框
 95251  361

移动端swiper上下滑动选择

基于swiper实现的移动端上下滑动选择
  选择框
 23856  235

jQuery自定义下拉框美化

自定义下拉框美化(可以自定义样式)
  选择框
 46697  347

讨论这个项目(67)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

    GHSの世界 0
    2021/11/12 2:00:32
    这个组件非常棒,但是存在几个问题:😘
    1.选择清空时候没有回调
    2.同时开启多行显示和搜索的时候,搜索框不能正常使用
    3.在取消选择内容的焦点后,选择内容已经隐藏了,但是点击原本位置的选项还是能点击到(点击1次会点击到,点击第二次不会点击到)

    暂时发现这三个问题,希望博主更新一下呀
        lquan0
        2022/3/17 16:15:19
        更新了,新版本,问题2好像没发现有问题....
    回复
    执笔''''写流年 0
    2020/1/6 11:29:02
    您好,问一下怎么判断是否选择了城市,我发现我在dom中加不了id
    回复
    明潜宇 0
    2019/11/11 16:05:42
    您好: 问一下, 删除多选的城市的事件, 我找不到 , 这边插件有回调函数吗
        lquan0
        2020/6/7 14:39:15
        删除的好像没加回调
    回复
    凝眸千年的泪滴 0
    2018/7/18 16:42:02
    使用还是挺方便的,还不收费,想打赏都没找到地方。不用再自己去抓取数据了。部分BUG可以自己修改源码解决。
    不过某些 区下的街道/城镇文件丢失了。作者在吗? 能不能将数据补全下,咱有偿交易下么。
        lquan0
        2018/7/18 18:00:14
        哈哈哈,谢谢使用。应该会有bug的,能看懂自己修改也好的,哈哈哈。

        这个街道的数据是我去这里找的https://github.com/mumuy/data_location,它这里应该也有缺失了,这个问题我已经知道存在了,现在在看有没有哪里能补全这个的,哈哈哈
        lquan0
        2018/7/18 18:01:58
        啊,我说错了,这个组件的四级城市数据不是来自这里的,我看错了,那个缺失的城市数据,我在这个里面看下能不能补全吧,哈哈哈哈
    回复
    jq22_harry 0
    2017/11/17 17:42:26
    输入搜索关键字后删除,会卡住很长时间
        lquan0
        2017/11/27 8:51:38

        这块我暂时不好优化

    回复
    shihundemogui 0
    2017/11/13 11:25:04

    楼主,我怎么才能修改成,不按照拼音筛选,(按照国内,港澳台,欧美,美洲。。。。)进行筛选啊

        lquan0
        2017/11/13 11:27:01

        啊?我这组件是没有国外城市数据的,就算你改了组件的搜索,你也搜索不出来吧

        shihundemogui0
        2017/11/13 11:34:36

        对啊,

        lquan0
        2017/11/13 11:35:14

        如果你要做这种筛选,你就要去改源码了

        shihundemogui0
        2017/11/13 11:36:28

        我想实现效果(让拼音的位置,显示国内,国外,等等,,,,),但是也没有数据,修改完就是现在的样子了

        shihundemogui0
        2017/11/13 11:38:10

        想要做成,携程的那个目的地城市多选的效果;http://vacations.ctrip.com/dingzhi/demand?from=index&type=C

        shihundemogui0
        2017/11/13 11:39:07

        您的源码,挺深奥的,要是修改可能会有很大的改动

        lquan0
        2017/11/13 11:45:20
        你这样子改啊,但是没有国外的数据,你是要显示空?这样子的话,我的照你的思路出一个版本?代码没有 那么深吧?
        shihundemogui0
        2017/11/14 16:44:06

        楼主,之前没有看到你说的;不好意思啊

        shihundemogui0
        2017/11/14 16:45:53

        没有国外的数据没有关系,显示为空就行(或者简单出几个假数据也行),能仿照我给你发的 携程的连接,出一个版本吗?

        shihundemogui0
        2017/11/14 17:29:47
        楼主看到我的回复可以加一下我的qq:1756593938,方便和您沟通!
        shihundemogui0
        2017/11/15 9:26:11

        楼主,在吗?

        lquan0
        2017/11/15 14:54:46

        不好意思啊,这个我没空做,最近都比较忙,没有时间去搞,这个我做我也要重新去开发了,还不如你自己搞一个呢。

        shihundemogui0
        2017/11/15 15:20:48

        好吧,但是我水平有限,搞不出来啊

        shihundemogui0
        2017/11/15 18:50:52
        楼主大神,能不能抽出点你的宝贵时间啊,给出一版吧,真的弄不出来了,工作进展不下去了,丢饭碗了,唉!
        shihundemogui0
        2017/11/17 10:36:14

        楼主,在吗?问你一个问题,我在进行城市搜索的时候,应该怎么做,和我写的json数据有关系吗?

        lquan0
        2017/11/17 11:20:14

        啊?这个我真帮不了你,实在没空

        lquan0
        2017/11/17 11:20:44

        搜索时按照json数据去搜索的,找到对应的关系

        shihundemogui0
        2017/11/18 8:54:57

        恩恩

        shihundemogui0
        2017/11/20 13:46:35

        楼主,你的插件,点击页面上的其他地方,就隐藏下拉的城市,是怎么做到的啊?

        shihundemogui0
        2017/11/20 14:16:40

        我看见你用的是$(document).on('click.cityselect', function (event)实现的,但是,我进行城市多选以后,去删除城市,没有执行document点击事件,是为什么?

    回复
    @苏 0
    2017/10/13 12:51:20
    启用多选并启用县级以后。能不能点击市,以后在选择下面的县级。 最终以区县作为最小选择单位。实际应用情况是选择了市,包含县区的。
        lquan0
        2017/10/13 14:01:25

        啊,不是很理解。我要全部返回区县给你?

        @苏0
        2017/10/16 17:35:41
        就是开启多选时候,按照区县选择,不能选择市。 
        lquan0
        2017/10/19 17:50:59

        啊?还有这操作?

    回复
    徨殇 0
    2017/9/22 17:37:59
    {
        "id": "420529",
        "name": "五峰土家族自治县",
        "parentId": "420500",
        "shortName": "五峰",
        "letter": "W",
        "cityCode": "0717",
        "pinyin": "Wufeng"
    }

    我看到县一级的数据了 为什么搜索的时候显示不出来?搜索的时候提示:没有找到五峰相关城市。望解决!非常感谢!

        lquan0
        2017/9/25 8:58:43

        这个本来定位是市级的,数据源是有县一级的数据的

    回复
    徨殇 0
    2017/9/22 17:32:43

    楼主 您好 希望添加县一级的数据 非常感谢!

        lquan0
        2017/9/26 10:40:45

        已更新版本,可以下载新版本

    回复
    ?? runin 0
    2017/9/2 16:49:10

    请问怎样拿到选择城市的所属省和下面以及的县,啥的

        lquan0
        2017/9/3 14:06:43

        这个有返回省份的id,没有返回省份的名称和县,如果需要的话,我下一个版本加一个

        ?? runin0
        2017/9/3 21:38:51

        我这边现在有这个需求,先根据市的名称查找,查到到市以后,把相应的省级数据也加载出来,等于是直接跳过了先选省,然后还要加载镇街出来,还是要感谢作者,哈哈,不过那个相应的省份的数据和下级的数据我已经有办法拿到了

        lquan1
        2017/9/4 9:09:34
        嗯,好的。数据源本来就可以自己去查找的,可以根据parentId  去查找就可以得到相应的数据的
    回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复