一個多月前重翻Silverlight版,寫成純jQuery版地址輸入輔助器,當時提到近期會以Open Source方式釋出。薑薑薑薑~ 終於,我也有作品在偉大的GitHub航道載浮載沈乘風破浪了!

過去有過使用CodePlex分享開源專案的經驗。近幾年來,GitHub憑藉著符合社群交流特性的P2P運作模式,漸漸成為開源專案的最主要集散中心(jQuery, PHP, Perl, Ruby, Ruby on Rai, Mono, YUI… 全在上面),聲勢如日中天,就連Visual Studio也納入Git支援。更有種說法: 這年頭找程式設計師除了要看應徵者的Blog、Twitter、Plurk跟Facebook,還要順道看看他在GitHub的活動軌跡,預先了解對方對軟體開發的熱情、興趣專長、甚至程式碼風格。

GitHub,儼然已成為開發者的準社交平台,一個用程式碼PO文、用Star按讚、用Fork轉分享的另類臉書。

廉頗老矣,無力效法熱血青年在開源社群縱橫,但分享的精神還是有的;沒本事學高手牛人們砌牆蓋屋造橋舖路,幸好種棵小樹美化環境還在能力所及,有興趣的朋友就加減參考吧!

各位觀眾,jQuery版台灣地區地址輸入輔助元件 on GitHub! https://github.com/darkthread/twAddrHelper


Comments

# by ericsk

馬上發落!

# by Chan

恭喜黑暗大啟程~

# by REX

黑大您好, 請問您有意願 or 有可能兼任其他公司的技術顧問 / 經理? -Rex

# by Jeffrey

to REX, 承蒙垂青,不勝感激,目前無此規劃,但衷心感謝您的提議。

# by lkk150

黑大您好, 我有個自動完成功能的問題想請教, 我有一個表單可供輸入產品編號並經由自動完成功能帶出品名, 這樣的功能我可以做的出來, 但是想藉由動態新增產品編號欄,並綁定自動完成功能時遇到了困難,以下是我的程式碼,可否幫忙看一下問題出在哪邊? $(".t1").live("autocomplete",function(data, { formatItem: function(data, i, total) { var StrAndNum = data[0].split('_'); return StrAndNum[0]; }, formatResult: function(data) { var StrAndNum = data[0].split('_'); return StrAndNum[0]; } });

# by Jeffrey

to lkk150, 由你的程式片段看不出端倪,恐需要可以重現問題的程式範例,大家才好幫忙抓蟲。

# by Loter

Github好像上不去了...

# by lkk150

黑大,我後來是在新增鈕按下時,依序做新增文字欄位以及自動完成功能的綁定,若我想改寫成ON或LIVE的話,該怎寫呢? $("#btn").click(function(){ $("#isend").before("<tr><td>"+($(".t1").length+1)+"</td><td><input type='text' name='t"+$(".t1").length+"' id='t"+$(".t1").length+"' class='t1'><span></span></td><td><input type='text' name='qty"+$(".t1").length+"' value='0'></td>"); $(".t1").autocomplete(data, { formatItem: function(data, i, total) { var StrAndNum = data[0].split('_'); return StrAndNum[0]; }, formatResult: function(data) { var StrAndNum = data[0].split('_'); return StrAndNum[0]; } }); $(".t1").result(function(event, data, formatted){ var StrAndNum = data[0].split('_'); if (StrAndNum[0] != null){ $(this).val(StrAndNum[0]).next("span").html(StrAndNum[1]); } }); });

# by Jeffrey

to lkk150, jQuery的on()或live()用於事件的綁定[參考: http://blog.darkthread.net/post-2011-10-14-delegate-vs-live.aspx ,而.live()已被宣告過時,建議改用.delegate()或.on()],而autocomplete是一個Plugin,故無法透過.on()去觸發。針對你所說的情境,我應該也會選擇類似做法,只有幾個小建議: 1) 把$(".t1")抽出來存成變數(如var $t1 = $(".t1"))重複利用會較每次重新$(".t1")有效率 2) 新建立的<input>可以用$t1.length + 1給個"txt1", "txt2"的唯一id,後面用$("#inp1")操作,不然btn連續按鈕後$(".t1")會一次抓到多個<input>,會有重複設定autocomplete()的問題。

# by lkk150

謝謝黑大的回覆

Post a comment