jq 省市區(qū)三級聯(lián)動插件 :distpicker

1. 最近找省市區(qū)得插件咨察,真是好崩潰啊,找的插件大部分都有這樣得問題:

  • 首先省市區(qū)三級聯(lián)動功能都沒問題黔攒。
  • 最大的問題是 區(qū) / 縣 數(shù)據(jù)問題
    • 舊版本的插件球散,區(qū)縣數(shù)據(jù)包含鎮(zhèn)級地名,大多都重復 城關鎮(zhèn)添忘,比如河南省洛陽市下面的區(qū)縣重復多個城關鎮(zhèn) 這個地名采呐。
image
  • 新版 的區(qū)/縣下包含:區(qū)、縣搁骑、地級市斧吐,取消了XX鎮(zhèn)
    • 以我大洛陽為例:九縣六區(qū)(實際是八縣加一個地級市)仲器,老數(shù)據(jù)就會重復多個城關鎮(zhèn)煤率。
  • 新版的數(shù)據(jù),將舊的 XX鎮(zhèn) 都去掉了娄周,并做了數(shù)據(jù)整合涕侈。
  • 要么就是去請求city.json跨域煤辨,繞不過瀏覽器,搞不定
  • 還有就是 寶島臺灣 有的插件有數(shù)據(jù)木张,有的插件沒數(shù)據(jù)众辨。
  • 再有一個問題就是:省市區(qū)三個的位置是否可以隨便調(diào)?
    • 大部分插件 省市區(qū) 包裹在同一個 div下舷礼,不能分開寫鹃彻;
    • 個別,比如我上次寫的area.js妻献,就支持省市區(qū)隨便放,但它的數(shù)據(jù)有點老舊蛛株,重復的多团赁。
  • 還有一個加密的js文件,雖然能用谨履,但是誰會引個看不懂的文件到項目中去嘞欢摄。

2.下面說個jq的distpicker插件,做省市區(qū)聯(lián)動

2.1 下載distpicker插件

使用npm或者bower命令

  • npm install distpicker
  • bower install distpicker

我用npm好像第一次下載不成功笋粟,使用bower立馬就能下載,文件目錄如下:


image

[圖片上傳失敗...(image-173ad0-1514381900420)]

2.2 然后就是引用
<script type="text/javascript" src="../libs/jquery-3.2.1/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="distpicker/dist/distpicker.min.js"></script>
2.3 html使用
<div id="target"><!-- container -->
  <select></select><!-- 省 -->
  <select></select><!-- 市 -->
  <select></select><!-- 區(qū) -->
</div>
  • js初始化插件
<script>
$(function(){
        $('#target').distpicker();
});
</script>
  • 默認效果:


    image
  • 自定義占位文本:
$('#target').distpicker({
             province: '--請選擇省份--',
             city: '--請選擇市--',
             district: '--請選擇區(qū)/縣--'
});
  • 自定義省市區(qū):
$('#target').distpicker({
                    province: '河南省',
                    city: '洛陽市',
                    district: '伊川縣'
                });   
  • 效果如圖:
image

2.4也可以直接初始化怀挠,不用js操作

使用data-toggle="distpicker", 固定寫法,寫錯無效害捕!

image
<div data-toggle="distpicker"><!-- container -->
  <select></select><!-- 省 -->
  <select></select><!-- 市 -->
  <select></select><!-- 區(qū) -->
</div>
2.4.2 使用顯示占位文本:

默認選中的太難看绿淋,可用于換默認顯示的項

<div data-toggle="distpicker">
  <select data-province="---- 選擇省 ----"></select>
  <select data-city="---- 選擇市 ----"></select>
  <select data-district="---- 選擇區(qū) ----"></select>
</div>
2.4.3 自定義省市區(qū),也可以默認選中某個省市區(qū)尝盼?
<div data-toggle="distpicker">
  <select data-province="浙江省"></select>
  <select data-city="杭州市"></select>
  <select data-district="西湖區(qū)"></select>
</div>
2.5 以上幾種寫法的效果:
image

3. 怎么抓取選中的值吞滞?

  • Angular:使用ng-model,或添加ng-click/ng-change事件盾沫,抓取val;
  • jQ:button添加click事件裁赠,抓取$().val();
    .bind("change", function(){ // console.log( $().val)});

4.怎么修改默認的配置參數(shù)?

4.1 修改默認的配置參數(shù):

$().distpicker(options)

4.2修改全局默認參數(shù):

$.fn.distpicker.setDefaults(options)

  • autoSelect:類型:Boolean疮跑,默認值:true组贺。
    • 是否當省改變時自動選擇市和區(qū)。
  • placeholder:類型:Boolean祖娘,默認值:true失尖。
    • 是否顯示占位文本。
  • province:類型:String渐苏,
    • 默認值:―― 省 ――,定義省份的初始值掀潮。
    • 如果在distpicker.data.js文件中存在該省份,將會被選擇琼富,否則顯示占位文本仪吧。
  • city:類型:String
    • 默認值:―― 市 ――,定義的初始值。
    • 如果在distpicker.data.js文件中存在該市鞠眉,將會被選擇薯鼠,否則顯示占位文本。
  • district:類型:String
    • 默認值:―― 區(qū) ――,定義區(qū)的初始值械蹋。
    • 如果在distpicker.data.js文件中存在該區(qū)出皇,將會被選擇,否則顯示占位文本哗戈。

5. 重置方法示例:

  • reset([deep]):重置select為初始狀態(tài)郊艘。

  • deep (optional):類型:Boolean,默認值:false。重置select為初始狀態(tài)纱注。

$().distpicker('reset');
$().distpicker('reset', true);
destroy():銷毀插件實例畏浆。
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市狞贱,隨后出現(xiàn)的幾起案子刻获,更是在濱河造成了極大的恐慌,老刑警劉巖斥滤,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件将鸵,死亡現(xiàn)場離奇詭異,居然都是意外死亡佑颇,警方通過查閱死者的電腦和手機顶掉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挑胸,“玉大人痒筒,你說我怎么就攤上這事〔绻螅” “怎么了簿透?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長解藻。 經(jīng)常有香客問我老充,道長,這世上最難降的妖魔是什么螟左? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任啡浊,我火速辦了婚禮,結果婚禮上胶背,老公的妹妹穿的比我還像新娘巷嚣。我一直安慰自己,他們只是感情好钳吟,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布廷粒。 她就那樣靜靜地躺著,像睡著了一般红且。 火紅的嫁衣襯著肌膚如雪坝茎。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天暇番,我揣著相機與錄音景东,去河邊找鬼。 笑死奔誓,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播厨喂,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼和措,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蜕煌?” 一聲冷哼從身側(cè)響起派阱,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎斜纪,沒想到半個月后贫母,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡盒刚,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年腺劣,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片因块。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡橘原,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出涡上,到底是詐尸還是另有隱情趾断,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布吩愧,位于F島的核電站芋酌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏雁佳。R本人自食惡果不足惜验烧,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缩多。 院中可真熱鬧拆又,春花似錦、人聲如沸温兼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽募判。三九已至荡含,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間届垫,已是汗流浹背释液。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留装处,地道東北人误债。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓浸船,卻偏偏與公主長得像,于是被迫代替她去往敵國和親寝蹈。 傳聞我的和親對象是個殘疾皇子李命,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)箫老,斷路器封字,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 點擊查看原文 Web SDK 開發(fā)手冊 SDK 概述 網(wǎng)易云信 SDK 為 Web 應用提供一個完善的 IM 系統(tǒng)...
    layjoy閱讀 13,761評論 0 15
  • 存筆記
    5467lq閱讀 169評論 0 0
  • “晚上好!一年前耍鬓,當他宣布參選阔籽,我介紹過我的父親。作為一個局外人牲蜀,他以自己的方式笆制,通過自己純粹的意志力為進入政治領...
    77264閱讀 456評論 0 0
  • 前一天回來比較晚,歡兒呼呼了各薇,計劃今天回延慶參加初中同學聚會项贺,畢業(yè)二十年的聚會,期待激動中峭判。想看看多年不聯(lián)系的小伙...
    歡歡樂樂1317閱讀 284評論 0 0