Giter VIP home page Giter VIP logo

jquery-twzipcode's Introduction

jQuery-TWzipcode

在網頁建立多組 3 碼臺灣郵遞區號表單元素的 jQuery Plugin ─ 讀取快速、不需使用資料庫。

範例展示 Live Demo

* jQuery-TWzipcode v1.5 以後版本需 jQuery v1.6(支援 2.0)

TWzipcodeJS No-jQuery

免 jQuery 並支援 AMD 的純 JS 版本 TWzipcodeJS No-Jquery

多國語言 i18n

Download: branch v1.6.1

新增參數

language: 'language file path' //預設自動判斷

Example

$(selector).twzipcode({
  language: 'lang/zh-tw' //不需加上 .js
});

安裝 Install

bower

$bower install jquery-TWzipcode

使用 Usage

HTML

...
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="jquery.twzipcode.min.js"></script>

<!-- Normal -->
<div id="twzipcode"></div>
  
<!-- OR HTML5 data-* (Version 1.5+) -->
  
<div id="twzipcode">
  <div data-role="county" data-style="Style Name" data-value="110"></div>
  <div data-role="district" data-style="Style Name" data-value="臺北市"></div>
  <div data-role="zipcode" data-style="Style Name" data-value="信義區"></div>
</div>

Javascript

$('#twzipcode').twzipcode();

選項 Options

css (Array)

設置元素的樣式名稱,依序為 ['縣市清單', '鄉鎮市區清單', '郵遞區號輸入框']

googleMapsKey (string)

v1.6.9 Google Maps Geolocation API 金鑰。若您達到 Geocoder 的每日限制用量,可透過購買來提高用量,同時需設置金鑰。 預設值: ''

detect (boolean|Function)

v1.6.7 是否自動偵測用戶位置。不需引入 Google Maps API。 預設值: false

countyName (string)

指定縣市下拉清單元素的表單名稱。
預設值: county

countySel (string)

縣市清單的預設值

districtName (string)

鄉鎮市區下拉清單的表單名稱。
預設值: district

districtSel (string)

鄉鎮市區的預設值

zipcodeName (string)

郵遞區號輸入框的表單名稱。
預設值: zipcode

zipcodeSel (string)

郵遞區號輸入框的預設值(此選項優先於 countySel, districtSel)

zipcodeIntoDistrict (bool)

v1.6.6 是否隱藏郵遞區號輸入框並顯示於鄉鎮市區清單內? 預設值: false

onCountySelect (function)

v1.5 綁定縣市選單 Change 事件。

onDistrictSelect (function)

v1.5 綁定鄉鎮市區選單 Change 事件。

onZipcodeKeyUp (function)

v1.5 綁定郵遞區號輸入框 keyUp 事件(readonly 必須為 false)。

readonly (boolean)

郵遞區號輸入框是否唯讀?
預設值: true

hideCounty (array)

v1.7.9 要隱藏的縣市名稱,例如 ['臺北市', '宜蘭縣'...] 預設值: []

hideDistrict (array)

v1.7.9 要隱藏的鄉鎮市區,可以是名稱或三碼郵遞區號例如 ['大安區', '110'...] 預設值: []

方法 Methods

data

取得已選取縣市的郵遞區號資料

var data = $(selector).twzipcode('data');
console.log(data);

destroy

從指定的元素移除 Plugin

$(selector).twzipcode('destroy');

get

// 取得縣市 county(返回字串)
var county = $(selector).twzipcode('get', 'county');

// 取得縣市 county 以及鄉鎮市區 district(返回陣列)
var result = $(selector).twzipcode('get', 'county,district'); // 以 , 字串傳入
var result = $(selector).twzipcode('get', ['county', 'district']);  // 以陣列傳入

// Callback
$(selector).twzipcode('get', function (county, district, zipcode) {
    console.log(county);   // 縣市
    console.log(district); // 鄉鎮市區
    console.log(zipcode);  // 郵遞區號
});

set

// 直接設置郵遞區號
$(selector).twzipcode('set', 110);
// 傳入縣市、鄉鎮市區
$(selector).twzipcode('set', {
    'county': '臺北市',
    'district': '信義區',
    'zipcode': 110
});

reset

將指定的元素恢復未選狀態

$(selector).twzipcode('reset');

serialize

將指定的元素輸出為 URL QueryString。

var qs = $(selector).twzipcode('serialize');
console.log(qs);
// output: 
// county=AAA&district=BBB&zipcode=999

範例

加入郵遞區號預設值,並可輸入郵遞區號取得縣市名稱

$('selector').twzipcode({
    'zipcodeSel': 110,
    'readonly': false
});

加入縣市預設值

$('selector').twzipcode({
    'countySel': '高雄市',
    'districtSel': '那瑪夏區'
});

指定 CSS 樣式名稱

.addr-county{background:#4169E1;color:#fff}
.addr-district{background:#008000;color:#fff}
.addr-zip{background:#c00;color:#fff;border:1px solid #666}
$('#container').twzipcode({
    'css': [
        'addr-county', //縣市
        'addr-distrcit',  // 鄉鎮市區
        'addr-zip' // 郵遞區號
    ]
});

或是直接使用 HTML5 data-* 套用樣式

<div id="twzipcode">
  <div data-role="zipcode" data-style="addr-zip" data-name="元素名稱" data-value="預設值"></div>
  <div data-role="county" data-style="addr-county" data-name="元素名稱" data-value="預設值"></div>
  <div data-role="district" data-style="addr-district" data-name="元素名稱" data-value="預設值"></div>
</div>

支援

請拜訪 https://code.essoduke.org/twzipcode/ 取得支援。

授權

v1.6.2 開始採用 MIT License
v1.6.1 及更早版本採用 創用 CC 姓名標示-相同方式分享 3.0 台灣授權條款

jquery-twzipcode's People

Contributors

bryant1410 avatar essoduke avatar hechien avatar imgarylai avatar nczz avatar patw0929 avatar visioncan avatar wake avatar yasiao avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jquery-twzipcode's Issues

safari、mobile device set not working

不好意**請問一下:
在chrome IE firefox上set值可以執行
但發現 safari 與手機上瀏覽器(實測chrome與safari) 無反應
我的情況是 我透過session將A頁的 county與district傳到B頁中 並想塞入到B頁面的select內
html部分:
2019-01-09 6 26 20
js部分:
2019-01-09 6 25 31

查詢 台北市 松山區
console出來session值 為台北市松山區
但另外有監看change時候value的變化 發現皆為default值 (此case為中正區)

safari上顯示與console部分:

2019-01-09 6 27 05

2019-01-09 6 27 12

chrome 對比部分:
輸入 宜蘭縣 礁溪鄉

console結果如下

session收到宜蘭縣礁溪鄉
onchange觸發第一次 切換縣市 所以為 宜蘭市 第二次為更改區域 切換為礁溪鄉 輸出成功

chrome console 如下:
2019-01-09 6 27 24

想請問有推薦辦法解決safari與mobile device的部分嗎?

There is no git tags on GitHub repository

Hi @essoduke ,
We are cdnjs team, we'd like to host this library.
The git auto-updater in cdnjs relies on git tags so that it can recognize the correct version and automatically update the repo.
Could you please add git tags for the repo?

If you have any suggestions, please let me know.
Thank you.


Hi @essoduke 大大您好,
我是 CDNJS 的成員之一,我們想要收錄這個 library 到 CDNJS 中。
CDNJS 是一個前端的資源庫,我們目前已經收錄了 3241 個 library ,這數字還會再持續成長中。

在這邊想請問您是否能為這個 repository 添加 git tag 呢?
因為當新的版本釋出的時候,我們的 CDNJS bot 會根據 git tag 來自動添加版本。
在維護上也更加的方便,並且也可以讓更多人透過 CDN 的服務更快速的存取您的 library。

若以上有不妥之處,還請您見諒。
期待您的回覆。
謝謝!

cdnjs/cdnjs#9270

請問驗證表單時,如何驗證下拉選單是否被選擇?

我試過了data-required=true
但好像沒什麼效果
請問是不是我驗證地方錯誤了呢?

郵遞區號:
								<div class="col-sm-3">
									<div data-role="district"
									 data-name="selArea"
									 data-value=""
									 data-style="form-control zip-group zip-state"
									 data-required="true" class="inline twziptwzip s2 has-feedback">
									</div>
									<span class="glyphicon form-control-feedback" aria-hidden="true"></span>
									<div class="help-block with-errors"></div>
								</div>
								<div class="col-sm-3">
									<div data-role="zipcode"
										data-name="zipcode"
										data-value="160"
										data-style="form-control" 
										class="twziptwzip has-feedback">
									</div>
									<span class="glyphicon form-control-feedback" aria-hidden="true"></span>
									<div class="help-block with-errors"></div>
								</div>
				</div>

無 jQuery 版本的 id 查找問題

如果把 zipcode 的 div 放在第一個,就會因為還沒塞 Math.random().toString(36).substr(2, 10) 這個 id 而找不到 county 跟 district 元件

data中的「台」為異體字,正確寫法應為正體字的「臺」

您好,感謝支持MIT。

地址中的「台」的正確寫法應為「臺」,例如:臺灣、臺北市、臺中市、臺南市、臺東縣、釣魚臺列嶼、臺西鄉(v1.7.9正確)、霧臺鄉(v1.7.9正確)。

以上說明,請問是否能夠修正呢?謝謝您。

參考資料:

  1. 臺灣非台灣? 教部要用正字 http://news.ltn.com.tw/news/focus/paper/451629
  2. 臺與台 http://blog.udn.com/chhsia1113/9186684
  3. 教部正名 臺灣非「台」灣 http://www.appledaily.com.tw/appledaily/article/headline/20101213/33032208/
  4. 異體字「臺」與「台」的字義比較 http://chardb.iis.sinica.edu.tw/meancompare/81FA/53F0
    5.公文上,發文機關之「臺中市政府」的「臺」,為何不可以使用「台」字? http://www.secretariat.taichung.gov.tw/ct.asp?xItem=1673420&ctNode=26653&mp=101010

npm 上的版本號需要修正

npm 上顯示的版本號不是 1.7.14.1 而是 1.7.1-4.1,造成 brunch 套件在打包檔案時會發生找不到對應版本的情形(會一直去找 1.7.14.1 找不到而報錯)。

錯字問題

新竹縣 -> 峨'眉'鄉 目前是 峨'嵋'鄉

未定義檢查有問題

在載入舊資料時 因為台 是以簡字儲存 所以 dc 會有值 但在 data 會找不到
if ('undefined' !== typeof data[dc][dd])
應該改為
if ('undefined' !== typeof data[dc] && 'undefined' !== typeof data[dc][dd])

動態新增一組選擇城市與地區的欄位時,之前的欄位會被重置。

Hi TWzipcode作者您好:

我想開發類似於 https://code.essoduke.org/twzipcode/ 這個範例網頁的Playground功能,可以讓使用者動態增加選擇城市與地區的欄位。我的code放置於此連結中:https://codepen.io/Ying-Chiao-Liao/pen/rNoWxGq。我目前遇到的問題是假設我第一組城市與地區的內容選好後:
Screenshot 2023-09-05 at 9 02 34 PM
再點擊"+"的按鈕新增一組城市與地區給使用則選擇後,原本第一組的城市會還原成原本的數值:
Screenshot 2023-09-05 at 9 04 00 PM

不曉得是否我是用上有誤,所以想向您請教一下,感謝!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.