上禮拜主管交代要做一些事情之後,就消失了兩天,
只說了: "jQuery Library要改版,很簡單的!"
結果摸了之後才知道,根本就一堆東西都要改!!
先說一下原先的版本是 1.4.1 > 1.10.1 ,ui 的方面則是 1.8 > 1.10.3
光是看到版本上數字的差距就覺得...不是很妙。
不過人家都說很簡單了,我們就來試試看。
首先,先把 include 的地方改掉... Autocomplete 馬上死光...
好吧重新寫個 Autocomplete...後端資料來源不是 json 格式...
想說整個 Autocomplete 都重寫了,應該會過了吧...參數命名方式改變...
然後竟然 PostBack 會讓 Autocomplete 死光...要重新綁定...
原先的 $("#ID").attr("checked",True) 竟然被改成 attr > prop啊!
這就算了,連 $("#ID").Checked都從 True > Checked!
我只能說這改版真是要人命,幸好主管一向很慈(ㄐㄧㄢˋ)悲(ㄨㄤˋ)
原本禮拜一就要交出去的東西弄到禮拜三才給他,目前測試中。
只是想到之。後。還。要。再。繼。續。改
就覺得....不要這樣浪費時間好嗎~~~~~明明就一堆更重要的事情可以做!
由於此篇文章太沒營養,所以下面就教大家如何在目前最新版本上寫 Autocomplete
首先你可以先去參考 jQuery 官方網站的寫法,當然是可以 Work 的
因為我要改寫成從後端資料庫抓資料來,所以souce就改了一下
<script type="text/javascript">
function DeptAutoCompl() {
$("#tbDept").autocomplete({
//來源相關資料都包進去
source: function (request, response) {
$.ajax({
//下面是我抓資料的副程式
url: "jGetAutoComSrc_Dept.ashx",
dataType: "json",
data: {
//以下是由客戶頁面端要傳送給url的參數名稱及資料
// request.term代表你目前keyin的資料
q: request.term,
StdCode: $.trim($("#ddlChannel").val()),
SearchCol1: "DeptCode",
SearchCol2: "DeptName"
},
success: function (data) {
response(data);
}
});
},
//大小寫要注意,當初打成minlength就完全不會動
minLength: 0,
//下面代表 Autocomplete 的選項被選定後要做的行為
//基本上就是把資料都抓出來填到 textbox 中
select: function (event, ui) {
$(this).val(ui.item.value1 + " " + ui.item.value2);
$("#tbSalTel").val(ui.item.value3);
$("#tbSalFax").val(ui.item.value4);
$("#tbSolinoId").val(ui.item.value6);
$("#tbSolinoName").val(ui.item.value7);
$("#tbSolinoTel").val(ui.item.value8);
$("#tbSolinoExt").val(ui.item.value9);
$("#tbSolinoMobile").val(ui.item.value10);
$("#txtDeptCode").val(ui.item.value1);
if ($("#tbSalEmail").val() == "") {
$("#tbSalEmail").val(ui.item.value5);
}
//注意:有時候沒有 return false會不 work
return false;
}
})
</script>
控制項名稱的部分...就看官先自行理解...有問題再提出。
後端副程式的部分...待下回分解...因為怕貼上來看我自己眼睛都花了...XD
沒有留言:
張貼留言