close

鄉鎮市區預設值鄉鎮市區下拉清單名稱縣市下拉清單名稱areaNameJQuery真的方便,但是要如果要自己弄地址或是郵遞區號,也是很煩人的。

今天在網路上看到有個plugin很方便,不過請注意,我引用的是1.4的版本,如果使用1.3.1的朋友,請注意,我在文章最後面會再補注說明。

提供官方網站:http://app.essoduke.org/twzipcode/

我提供的1.4範例版本:http://www.megaupload.com/?d=OK7DZWJ0

第一件事要include進去。沒有載入,在怎麼寫都是沒用的。 PS:我這JQuery,我是用1.6版,先後順序不能顛倒,因為twzipcode都是base on Jquery產生的

<script type="text/javascript" src="jquery.js"></script>
<script src="twzipcode-1.4.js" type="text/javascript"></script>

這邊就寫個基本範例:

JavaScript(JQuery):

        <script>
            $(document).ready(
                function(){
                    $('#container').twzipcode();
                   
                }
            )
        </script>

HTML:

 <div id="container"></div>

這是會顯示的結果:

以上是最基本的,就會顯示出表單出現。 

 

可是問題來了,如果真的要當表單把資料送出去,沒有設定Name tag,那讀取的時候會很不方便。那要怎麼辦呢?他的函數也有提供設定Name的方法。

一樣請不要忘了引用 JQuery跟Twzipcode的部分。Javascript的部分,請參考。

        <script>
            $(document).ready(
                function(){
                    $('#container').twzipcode({
                          countyName: "Country",
                          districtName: "District",
                          zipName: "Addr"
                     });
                   
                }
            )
        </script>

 他提供了幾個參數:
             countyName: 指定縣市下拉清單名稱 (String) /* 若不指定則預設名稱為 county */
             districtName: 指定鄉鎮市區下拉清單名稱 (String) /* 若不指定則預設名稱為 district */
             zipcodeName: 指定郵遞區號輸入框名稱 (String) /* 若不指定則預設名稱為 zipcode */

加了這個參數,可能看不太出什麼差別,唯一的最大差別就是在submit出去後端,接收端會比較方便。

再來就是,怎麼去設定預設值?如果沒有設定預設值,就會像地一個範例看到的那樣,但是如果你有設定預設值,載入之後就會顯示在你預設的那個值。

        <script>
            $(document).ready(
                function(){
                    $('#container').twzipcode({
                          countyName: "Country",
                          districtName: "District",
                          zipName: "Addr",
                          countySel: "台北市",
                          districtSel: "大安區",
                          zipcodeSel:"109"
                     });
                   
                }
            )
        </script>

提供了幾個設定預設值的參數。
          countySel: 縣市預設值 (String)
          districtSel: 鄉鎮市區預設值 (String)
          zipcodeSel: 郵遞區號預設值 (String)

這邊請注意,如果你郵遞區號亂設定,那不管你鄉鎮市區設定多少,最後都會用郵遞區號逆推回去,換句話說,他的優先判斷會用郵遞區號。等下會用個例子來解釋。這邊先看看上面程式的結果。

再來就是解釋剛剛說的問題,如果今天我們知道 台北市 中正區 他的郵遞區號是100,如果我們按部就班的設定,是沒問題的,但是如果我把參數變成下面這樣。你覺得會是什麼樣的結果呢?

        <script>
            $(document).ready(
                function(){
                    $('#container').twzipcode({
                          countyName: "Country",
                          districtName: "District",
                          zipName: "Addr",
                          countySel: "台北市",
                          districtSel: "大安區",
                          zipcodeSel:"700"
                     });
                   
                }
            )
        </script>

實際上700 是台南是 中西區的郵遞區號,那你覺得結果會是什麼呢?

這就會是你看到的結果,他是用最後的郵遞區號做為辨別!

最後兩個參數,我在這一起說。

            readonly: 郵遞區號輸入框是否唯讀? (Bool)
            css: ['County ClassName', 'Area ClassName', 'Zip ClassName'] (Array)

        <script>
            $(document).ready(
                function(){
                    $('#container').twzipcode({
                          countyName: "Country",
                          districtName: "District",
                          zipName: "Addr",
                          countySel: "台北市",
                          districtSel: "大安區",
                          zipcodeSel:"109",
                          css:['CountryCss','AreaCss','ZipCSS']
                     });
                   
                }
            )
        </script>

加上下面這段CSS敘述。

        <style>

            .CountryCss{background:#4169E1;color:#fff;}
            .AreaCss{background:#008000;color:#fff;}
            .ZipCSS{background:#c00;color:#fff;border:1px solid #666;}

        </style>

下圖就是結果,你就可以看到表單的樣式被改變了。

最後我要在這題出一些東西給大家,我覺得滿重要的。因為Twzipcode 他目前看到有三個版本,可是三個版本的參數都有點不同。所以要用之前請先確認你的版本。

  twzipcode(V1.3) twzipcode(V1.4) twzipcode32(V1.0)
縣市下拉清單名稱 countyName countyName countyName
鄉鎮市區下拉清單名稱 areaName districtName areaName
郵遞區號輸入框名稱 zipName zipcodeName zipName
路名欄位名稱 X X roadName
縣市預設值 countySel countySel countySel
鄉鎮市區預設值 areaSel districtSel areaSel
郵遞區號預設值 zipSel zipcodeSel X
郵遞區號輸入框是否唯讀 zipReadonly readonly zipReadonly
指定路名預設 x x roadSel
指定各欄位樣式名稱 css css css

arrow
arrow
    全站熱搜

    阿基 發表在 痞客邦 留言(0) 人氣()