);
就不會出現上述問題
這次我再打'許'或任何開頭中文的字--少了錯誤訊息--但還是沒出現應該要出現的選項--什麼都沒發生
請問有沒有人有這方面的相關實例
希望各位多指教
作者: wmh 時間: 2009-3-10 12:58
看起來是資料庫編碼的問題,和 jQuery 無關。
如果都是 utf-8 的編碼,應該不會有上述的問題,你可以試著先在 server 端的 php 程式把正確的資料撈出來後,再來套前端的 UI。
你去資料庫撈資料的語法是自己寫的嗎?
會不會在開啟資料庫連線後忘了指定編碼:mysql_query('SET NAMES utf8');
作者: bau720123 時間: 2009-3-10 13:45
是的
全部都是utf-8編碼
mysql_query('SET NAMES big5' );
mysql_query("SET NAMES utf8' );
我都試過了--不過都是一樣的狀況
我可否把我的檔案跟資料庫結構傳一份給您
您幫我看看好嗎
因為我研究真的研究了很久了
就是中文首字問題沒法解決
如果可以的話--看是傳MAIL或是連結都可^^||
DEMO網址如下
http://59.124.2.38/autocomplete/autocomplete.html
[ 本帖最後由 bau720123 於 2009-3-10 15:05 編輯 ]
作者: wmh 時間: 2009-3-10 20:19
ok 你可以用網頁最下面的「聯繫我們 」的 email,或是你把檔案放到某個地方,再用「發短消息」的功能傳送給我即可,我會試著幫你看一下問題在哪。
作者: bau720123 時間: 2009-3-10 20:34
信件已寄出
內有完整使用說明
輸入資料時
可以隨便打a or c or d or 包 or 許
等字串
現在英文是OK的~中文就如您所知到的狀況一樣
再次感謝
作者: wmh 時間: 2009-3-10 21:12
我發現資料傳到 server 端會被編碼,
許功蓋會變成 "%u8A31%u529F%u84CB" 的字串,
所以要再用以下的方式取為原字串:
$q = join('', json_decode('["'. strtr($_GET['q'], '%u', '\u') . '"]'));
作者: bau720123 時間: 2009-3-11 12:17
目前我把網頁也變成了UTF-8
php,ini裡面也設定default_charset = "UTF-8"
以下是在不同的程式語法下測試的狀況
也麻煩您再幫我看一次
測試環境--自己電腦上的瀏覽器(IE跟FF)
您的意思是說把
$q = strtolower($_GET["q"]);
替換成
$q = join('', json_decode('["'. strtr($_GET['q'], '%u', '\u') . '"]'));
嗎
但結果在伺服器上沒什麼變化ㄟ
我準備了兩個版本
autocomplete_ajax.php是沿用原來的$q = strtolower($_GET["q"]);
autocomplete_ajax1.php是沿用新的$q = join('', json_decode('["'. strtr($_GET['q'], '%u', '\u') . '"]'));
包=
http://59.124.2.38/autocomplete/autocomplete_ajax.php?q=包
http://59.124.2.38/autocomplete/autocomplete_ajax.php?q=%A5]
http://59.124.2.38/autocomplete/autocomplete_ajax1.php?q=包
http://59.124.2.38/autocomplete/autocomplete_ajax1.php?q=%A5]
許=
http://59.124.2.38/autocomplete/autocomplete_ajax.php?q=許
http://59.124.2.38/autocomplete/autocomplete_ajax.php?q=%B3\
http://59.124.2.38/autocomplete/autocomplete_ajax1.php?q=許
http://59.124.2.38/autocomplete/autocomplete_ajax1.php?q=%B3\
前台測試網址
http://59.124.2.38/autocomplete/autocomplete.html
http://59.124.2.38/autocomplete/autocomplete1.html
[ 本帖最後由 bau720123 於 2009-3-11 12:27 編輯 ]
作者: wmh 時間: 2009-3-11 21:21
我把我目前可運作的程式完整寄回給你看看。
所有的檔案資料都以 UTF-8 來做,
包含你原本的 autocomplete.html 也轉成 UTF-8 編碼。
作者: bau720123 時間: 2009-3-12 10:51
我收到您的來信了
真的可以執行了
中文首字偵測也沒問題
我大概知道我哪些地方跟您這個版本設定的不一樣之處了
最後一個小問題希望您能給我一些建議
像打英文時--比方'a'--打完的那一剎那它自己會感應出應對的資料
但中文似乎有點兩光--比方打完'包'時--資料不會立即出來
這時要鍵盤上的方向鍵左或右動一下--這時才會感應出應對的資料
這跟字元碼有什麼相關的因素影響嗎???
希望能聽聽看您的看法跟建議
然後我再朝那個方向先自行去研究
真的不行時再上來論壇請教
再次謝謝您
PS
後記
後來我發現這個狀況目前在FF才會有這樣的狀況
IE我的版本是6是會立即自動感應的
[ 本帖最後由 bau720123 於 2009-3-12 11:35 編輯 ]
作者: wmh 時間: 2009-3-12 13:12
中文輸入的部份,可能和輸入法有關係喔,我這邊看起來是都還蠻順的,不會需要左右鍵動一下才出現資料。我是用酷音和雅虎奇摩輸入法,兩個都正常。
作者: wmh 時間: 2009-3-14 15:39
很明顯啊,你的問題出在輸入時不是用 \n 換行,而是用 html 的 <br/> 換行:
Response.Write(data[a] + "<br/>");
上面這一行應該改成:
Response.Write(data[a] + "\n");
作者: bau720123 時間: 2009-3-16 13:14
了解謝謝您低說明
再次感謝
作者: jordenno 時間: 2009-3-16 13:29 標題: 使用JSP提供資料
大大你好,我是用JSP提供資料
JSP檔如下程式碼
接收頁可以顯示資料沒問題
但當我在輸入框輸入 a 時
應該是只有出現2個選項
不過卻四個選項都出來了
繼續再輸入 b
又變成只剩一個選項了(abc)
有人用jsp來提供資料,有問題的嗎??<%@ page contentType="text/html; charset=big5" language="java" errorPage="" %>
<%
out.print("abc\n");
out.print("babc\n");
out.print("cabc\n");
out.print("aabc\n");
%>
作者: wmh 時間: 2009-3-16 16:42
server 端用哪種語言應該都不是問題喔,只要正確地將資料一行一行輸出即可。
你要貼出比較完整的程式碼嗎?上面這一段看不太出來問題在哪。
作者: redapple_pj 時間: 2009-4-11 16:02 標題: 管理员,这个问题怎么解决呀?一直没搞好
按照jquery中的实例做的,jsp页面中的javascript上:$().ready(function() {
$("#home_address").autocomplete('getJdtype.do', {
minChars: 0,
width: 310,
matchContains: true,
autoFill: false,
formatItem: function(row, i, max) {
return i + "/" + max + ": \"" + row.name + "\" [" + row.to + "]";
},
formatMatch: function(row, i, max) {
return row.name + " " + row.to;
},
formatResult: function(row) {
return row.to;
}
});
}
控制器中:public void getJdtype(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String parent = request.getParameter("q");
//int count=0;
String str = "";
List<Map> list;
if(StringUtils.isBlank(parent)){
//count=0;
//str=String.valueOf(count);
return;
}else{
list = getTDkindByTG(Integer.valueOf(parent));
//count=list.size();
//str=String.valueOf(count);
for(Map map :list){
String name=String.valueOf(map.get("kindremark"));
String id=String.valueOf(map.get("acceptdkindid"));
str += "{ name: \""+name+"\", to: \""+id+"\" },\n";
}
}
str = "[" + str + "]";
System.out.println(str);
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().write(str);
}
页面显示部分,总是提示“undefined”
我在页面中直接调试http://localhost:8088/project/getJdtype.do?q=4
显示的内容为:
[{ name: "催促揽", to: "13" }, { name: "催送发票(底单)", to: "38" }, { name: "催送单", to: "39" }, { name: "(底单)", to: "43" }, ]
是不是要显示成数组形式,而不是字符串呢,但动态数组不知道各位是如何实现的。盼。。。。。。
作者: wmh 時間: 2009-4-12 00:05
我看了一下實做的內容,有兩個地方需要調整,第一個是 server 端輸出的資料,要改成一行一組資料的方式:{ name: "催促揽", to: "13" }
{ name: "催送发票(底单)", to: "38" }
{ name: "催送单", to: "39" }
{ name: "(底单)", to: "43" }
再來是 client 端的部份,接到的 row 必須再處理一次:
formatItem: function(row, i, max) {
var row = eval('(' + row + ')');
return i + "/" + max + ": \"" + row.name + "\" [" + row.to + "]";
},
formatMatch: function(row, i, max) {
var row = eval('(' + row + ')');
return row.name + " " + row.to;
},
formatResult: function(row) {
var row = eval('(' + row + ')');
return row.to;
}
這樣應該就可以囉...
作者: terry.lin 時間: 2009-6-11 15:48 標題: 回復 50# 的帖子
DEAR 版大:
我也遇到相同的問題,但是我是用jsp & servlet來做的,
我的進度到了#41,用英文都沒有問題,但是用中文的話,
在後端就變成會得到???的值,
因為看bau720123已經解決了,
但是我對php不熟,所以不知道您寫的那一段是在做什麼?如下:
能否幫我解決這個問題,感恩!
$q = join('', json_decode('["'. strtr($_GET['q'], '%u', '\u') . '"]'));
作者: wmh 時間: 2009-6-11 19:21
$q = join('', json_decode('["'. strtr($_GET['q'], '%u', '\u') . '"]'));
這一段是:
- 先取得 GET 傳來的 q 這個變數
- 把 %u 轉成 /u
- 然後前後加上方括號
- 將 JSON 轉回 Array
- 再把 Array 接起來轉回字串
你可以在 http://json.org/ 取得 Java 處理 JSON 的 class
作者: terry.lin 時間: 2009-6-12 09:22 標題: 回復 60# 的帖子
謝謝大大,已經可以了!
作者: niplover 時間: 2009-7-20 19:33
wmh,您好,我使用jquery autocomplete的時候碰到了一點問題。
代碼如下:
<link rel="stylesheet" href="/5xun5mi/css/jquery.autocomplete.css" type="text/css"></link>
<script src="http://www.google.com/jsapi" ></script>
<script language="javascript" type="text/javascript" >
google.load("jquery", "1");
</script>
<script type="text/javascript" src="/5xun5mi/js/jquery.autocomplete.js" defer="defer" charset="GBK"></script>
<script language="javascript" type="text/javascript" charset=GBK>
$("#searchtext").autocomplete("/5xun5mi/jsp/get_tip_data.jsp");
</script>
在IE中運行時,總是提示紅色標注的哪行有錯,錯誤信息是:對象不支持此屬性或方法。
然而在Firefox中運行是正常的,其錯誤控制台也沒有任何錯誤信息。
望wmh指教,謝謝!
作者: wmh 時間: 2009-7-20 21:02
把 defer="defer" 刪掉應該就可以囉。因為在 IE 遇到 defer="defer" 會先繼續往下執行,當執行到那一行的時候,autocomplete 這個 function 都還未載入完成,所以會出現這個訊息。
作者: niplover 時間: 2009-7-20 22:02
原帖由 wmh 於 2009-7-20 21:02 發表 
把 defer="defer" 刪掉應該就可以囉。因為在 IE 遇到 defer="defer" 會先繼續往下執行,當執行到那一行的時候,autocomplete 這個 function 都還未載入完成,所以會出現這個訊息。 ...
非常感謝wmh,確實是這個原因造成的!
我之所以加那個defer屬性,是由於之前ie無法打開該站點信息。。
再次感謝~
作者: niplover 時間: 2009-7-20 22:09
還有個問題就是:
<input name="searchtext" type="text" class="input_search"
id="searchtext" maxlength="25" />
<script language="javascript" type="text/javascript" charset=GBK>
$("#searchtext").autocomplete("get_tip_data.jsp");
</script>
在get_tip_data.jsp中使用如下代碼
String searchtext = request.getParameter("searchtext");
获取的总是null,不知道爲什麽?
如果我使用 String searchtext = request.getParameter("q");
則獲取的是:searchtext === ???
注:我輸入的是中文
謝謝回覆!
[ 本帖最後由 niplover 於 2009-7-20 22:20 編輯 ]
作者: niplover 時間: 2009-7-20 23:17
原帖由 niplover 於 2009-7-20 22:09 發表 
還有個問題就是:
$("#searchtext").autocomplete("get_tip_data.jsp");
在get_tip_data.jsp中使用如下代碼
String searchtext = request.getParameter("searchtext");
获取的总是null,不知道 ...
解決了,用escape函數,谢谢wmh!
作者: wmh 時間: 2009-7-20 23:17
server 端要用 q 這個變數去接才對喔,如果沒有接到正確的文字,可以先檢查看看網頁的編碼。
作者: niplover 時間: 2009-7-22 10:24
wmh,我還有個問題就是:
當我輸入的時候,autocomplete是動態獲取到input中的值,該參數是q, 但能否動態獲取多個參數呢? 比如: 我input後面跟了一組單選框(book,author),我如何將選中的值(比如author)也能動態的傳入autocomplete呢? 聽說有個extraParams的東西,但不清楚何如使用?
望指教~ 謝謝!
作者: wmh 時間: 2009-7-22 13:03
根據官網的說明, extraParams 的用法如下:
$("#states").autocomplete(url, {
extraParams: {
country: function() { return $("#country").val(); }
}
});
如上,可以帶入額外的 country 參數,是抓目前 id="country" 這個欄位的值
作者: niplover 時間: 2009-7-22 14:38
嗯,好的,謝謝wmh,等我晚上回家去試試~
作者: niplover 時間: 2009-7-23 10:07
原帖由 wmh 於 2009-7-22 13:03 發表 
根據官網的說明, extraParams 的用法如下:
$("#states").autocomplete(url, {
extraParams: {
country: function() { return $("#country").val(); }
}
});
如上,可以帶入額外的 country 參數,是抓目前 ...
嗯,可以的,謝謝wmh! 以後得學會自己先看官方doc,解決不了在問,嘿~
作者: niplover 時間: 2009-7-26 14:56
wmh,再次請教~
如何才能讓autocomplete在使用方向鍵選中下拉列表中的某項時,input中同時也是這個值(像baidu一樣),而不是只能通過回車或單擊選中項使input為該值。。。
謝謝回覆!~
[ 本帖最後由 niplover 於 2009-7-26 14:57 編輯 ]
作者: wmh 時間: 2009-7-26 20:02
有個 autoFill 的屬性設定為 true 就可以囉
http://docs.jquery.com/Plugins/A ... #url_or_dataoptions
Fill the textinput while still selecting a value, replacing the value if more is typed or something else is selected.
作者: niplover 時間: 2009-7-27 09:28
非常感謝wmh~ 晚上回去試試~
作者: niplover 時間: 2009-7-28 09:29
我昨天晚上回去試用了下,將autoFill的屬性設定為true,結果是這樣的:
龍龍
盤龍
狂龍
.
.
.
注:第一行為input,下麵是下拉列表,效果也就是如圖: 即: input匹配第一行符合的記錄,自動去填充下拉列表第一行的在減去input字串長度的後一部份字符串(比如:input為龍, 下拉列表第一行為 盤龍, 盤龍長2,減去input的長1,還剩1,也就是說 需要在input后補齊的是盤龍的“龍”)。 不知道我這樣講清楚了沒?。。。
還有就是在下拉列表中用方向鍵選中項時,input不發生改變。。。
望指教~ 非常感謝~!
作者: wmh 時間: 2009-7-28 11:40
自動補齊的功能通常是要先符合前面輸入的字串,再補齊。
以你的資料為例,若有「盤龍」和「狂龍」兩筆資料,則輸入「盤」時,會自動補齊「龍」才是
作者: niplover 時間: 2009-7-28 12:21
原帖由 wmh 於 2009-7-28 11:40 發表 
自動補齊的功能通常是要先符合前面輸入的字串,再補齊。
以你的資料為例,若有「盤龍」和「狂龍」兩筆資料,則輸入「盤」時,會自動補齊「龍」才是 ...
嗯,我明白你的意思。
如果是:
盤根錯節
盤龍
這樣的下拉列表的話, 輸入[盤]時,會補齊[盤根錯節],然後方向鍵下選中[盤龍],input依然是[盤根錯節]而不是預期的[盤龍]。。
這有什麽解決方案嗎?
謝謝!
作者: wmh 時間: 2009-7-28 22:25
嗯,這個 plugin 原始的設計確實沒有在按「上」、「下」時重做 autoFill(),如果要這樣的呈現方式,可能要找其他 plugin 或自己修改囉。
作者: niplover 時間: 2009-7-29 00:27
原帖由 wmh 於 2009-7-28 22:25 發表 
嗯,這個 plugin 原始的設計確實沒有在按「上」、「下」時做 autoFill(),如果要這樣的呈現方式,可能要找其他 plugin 或自己修改囉。
嗯,好的,我再想想其他辦法。
謝謝wmh啦~~
作者: niplover 時間: 2009-8-2 01:15
wmh,再請教一下~
今天又使用了一个jquery的datepicker插件 http://jqueryui.com/demos/datepicker/
结果总是在FF里报下面这个错误:
错误: $("#fromtime").datepicker is not a function
PS;检查了js的顺序 和demo里是一致的。。(我那個autocomplete也正常,這樣應該可以排除是緩存的問題)。。
敢问这是啥原因呢?
代码如下:
js部分:
<script type="text/javascript" src="/xm/js/jquery-1.3.2.js"></script>
<script type="text/javascript" src="/xm/js/ui.core.js"></script>
<script type="text/javascript" src="/xm/js/ui.datepicker.js"></script>
<script type="text/javascript">
$(function() {
$('#fromtime').datepicker({
changeMonth: true,
changeYear: true
});
});
</script>
input部分:
<div>
<input name="fromtime" id="fromtime" type="text" size="30"
class="bg_sc_td_rt_lf" />
</div>
作者: wmh 時間: 2009-8-3 00:00
$("#fromtime").datepicker is not a function 表示你的 js 檔可能沒有正確載入喔,請確認檔案位置都正確。不然可先試試看直接用 jquery 網站上面的版本:
<script type="text/javascript" src="http://jqueryui.com/ui/ui.core.js"></script>
<script type="text/javascript" src="http://jqueryui.com/ui/ui.datepicker.js"></script>
PS. 若有其他 plugin 使用的問題,建議你另開新帖發言喔,這樣才不會和 Autocomplete 的問題混在一起喔。
作者: niplover 時間: 2009-8-3 09:07
原帖由 wmh 於 2009-8-3 00:00 發表 
$("#fromtime").datepicker is not a function 表示你的 js 檔可能沒有正確載入喔,請確認檔案位置都正確。不然可先試試看直接用 jquery 網站上面的版本:
PS. 若有其他 plugin 使用的問題,建議你另開新帖發言喔,這樣 ...
謝謝! 晚上回去試試~
PS: OK,下次謹記不同主題發新帖~
作者: lyndon1104 時間: 2009-9-25 16:42 標題: 想在右邊加入按鈕
版大您好:
小弟參考您的範例
但想要在輸入框右邊加入下拉的按鈕
以表示這個值有auto-complete的功能
如: http://evaqoo.blogdns.net/jquery-autocomplete/test/test.html
原始碼如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" c>
<link rel="stylesheet" type="text/css" href="css/jquery.autocomplete.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.autocomplete.js"></script>
<script type="text/javascript">
$(function() {
var data = ['台北市中正區','台北市大同區','台北市中山區','台北市松山區','台北市大安區'];
$("#t1").autocomplete(data, {minChars: 0,autoFill: true,matchContains: true, mustMatch: true});
$("#b1").bind("click",function(e){
$("#t1").search(e);
});
});
</script>
</head>
<body>
<input type="text" name="t1" id="t1" /><input type="button" id="b1" value="▼">
<span></span>
</body>
</html>
但似乎沒辦法
請教是否有方法可行?
謝謝
[ 本帖最後由 lyndon1104 於 2009-9-25 16:43 編輯 ]
作者: wmh 時間: 2009-9-26 09:23
你希望做到什麼樣的功能呢?按下旁邊的按鈕可以有作用嗎?還是只是裝飾的樣式?
若是裝飾的樣式,可以在原本的輸入框透過 CSS 指定一個背景圖即可。
作者: lyndon1104 時間: 2009-9-26 15:54
抱歉沒說清楚
就是按下旁邊的按鈕,在輸入框沒有key任何字的情況下,
也會顯示出auto-complete所設定的預設值
能夠做到嗎?
謝謝
作者: wmh 時間: 2009-9-28 22:35
稍微看了一下,似乎沒有這樣的功能喔...
作者: lyndon1104 時間: 2009-9-30 09:55
嗯,還是謝謝您....
作者: chiyuan1980 時間: 2010-1-28 11:34
請問~
<script type="text/javascript">
$(function() {
var data = ['abc','acd','bad','cde,'aac];
$("#t1").autocomplete(data, { matchContains: true });
});
</script>
這樣有辦法
當我輸入
a
時只出現
abc
acd
aac
a開頭的提示字?
而不是
出現
abc
acd
bad
aac
中文也一樣
因為我現調屬性幾乎都沒變成我希望的~
謝謝!
作者: wmh 時間: 2010-1-28 16:29
回復 86# chiyuan1980
把 matchContains 改成 false 就可以囉
作者: WILLIAMer 時間: 2010-2-9 11:40
遇到了一個問題
不知道有沒有人也一樣
我在單獨的jsp中執行沒問題
但如果以下兩種情況
1.這支jsp include其他jsp
2.這支jsp被其他頁面include
都會出現error message
IE是Object doesnt support this property or method
FF是autocomplete is not a function
本來是以為沒呼叫成功
不過我在jquery.autocomplete.js加入測試function
且呼叫它是有執行的
所以並不是jquery.autocomplete.js沒載入
試過等每個頁面的DOM都載入後才執行
也是一樣的錯誤訊息
目前這個text field是放在header
只執行header是ok的
現在每個頁面都會include header
這樣的情況就無法正確執行
作者: wmh 時間: 2010-2-9 12:05
DOM 都載入不代表 js 都載入完成喔,可以試試看先放到 window onload 試試看
$(window).load(function() {
//放這邊
});
如果可以,表示執行 autocomplete 時,autocomplete.js 還未載入,所以再調整一下順序即可。
或放 window onload 也可以,只是可能比較慢才執行。
作者: WILLIAMer 時間: 2010-2-9 17:53
本帖最後由 WILLIAMer 於 2010-2-9 18:10 編輯
我的main page一共include header,left,footer三塊
我剛把left跟footer拿掉發現就可以了...
表示我得等所有的頁面皆載入才行
本來我只有在header加入$(window.parent.document).ready(function(){
$(document).ready(function(){
$("#Keyword").autocomplete("searchSuggest.action",
{
minChars: 1,
matchContains: false
}
);
});
});
以為這樣就可以確定parent已載入完畢
看來是沒顧慮到left跟footer這兩塊是否已載入完成了
好奇的是
header應該是管自己的jquery.autocomplete.js有沒有載入好就好了吧?
跟其他mainpage include的page是否載入好有關?
作者: wmh 時間: 2010-2-9 22:10
如果你的 include 是 server 端的,那麼最後組成 client 端的頁面其實只有一個喔。
你用的是 document ready,因此只有文件本身載入完成,並非所有的檔案都載入完成喔!
作者: WILLIAMer 時間: 2010-2-10 10:53
感謝你的幫忙
問題解決了
作者: kelvinjones 時間: 2010-2-25 11:25
wmh 老兄,看到你這麼利害 我想請教你一下
在google.com打goo 的話會有一堆相關的東西
最後右邊有個 "關閉" 的 link
autocomplete 可以做得出來嗎?
作者: wmh 時間: 2010-2-25 13:32
他沒有提供這樣的功能讓你直接用,如果需要這樣的功能,得找其他的,或是自己做修改囉。
作者: kelvinjones 時間: 2010-2-25 17:47
他沒有提供這樣的功能讓你直接用,如果需要這樣的功能,得找其他的,或是自己做修改囉。 ...
wmh 發表於 2010-2-25 13:32 
魔了一天都做不了
我在function init() 中加了
elementB = $("<DIV id='basicDiv'></DIV>");
elementA = $("<A id='basicLink'>hihi</A>");
elementA.appendTo(elementB);
elementB.appendTo(element);
在 function request(term, success, failure) 中加了
if(parsed.length>options.max){
$("#basicDiv").show();
}else{
$("#basicDiv").hide();
}
我有三個textfield , 第一次打字autocomplete ,成功, 加了的東西出現, 但我去另二個textfield打字郤不能出現我加的東西?大大知道為什麼嗎?
作者: kelvinjones 時間: 2010-2-26 10:05
魔了一天都做不了
我在function init() 中加了
elementB = $("");
elementA = $("hihi");
elemen ...
kelvinjones 發表於 2010-2-25 17:47 
己解決, 不用id 用class
謝
作者: wmh 時間: 2010-2-26 10:06
我直接把你改的 code 用官方的範例測試發現都還蠻正常的喔。
你有看到什麼樣的錯誤訊息嗎?
作者: kelvinjones 時間: 2010-2-26 17:34
我直接把你改的 code 用官方的範例測試發現都還蠻正常的喔。
你有看到什麼樣的錯誤訊息嗎? ...
wmh 發表於 2010-2-26 10:06 
我巴他改成這樣子就可以
我在function init() 中加了
elementB = $("<DIV/>").addClass("basicDiv_jquery_autoComplete");
elementA = $("<A>hihi</A>").addClass("basicLink_jquery_autoComplete").;
elementA.appendTo(elementB);
elementB.appendTo(element);
在 function request(term, success, failure) 中加了
if(parsed.length>options.max){
$("div.basicDiv_jquery_autoComplete").show();
}else{
$("div.basicDiv_jquery_autoComplete").hide();
}
這樣就行了, 我有三個textfield 每個都call autocomplete ,可能這樣他init 了三次, 相同id 產生了問題
但現在又發生另一個問題了, 最後一行<A>hihi</A> 給其他 selectbox 當住了....
用了 $("div.basicDiv_jquery_autoComplete").bgiframe(); , set 了 z-index 也不行, 不知怎搞的 
作者: a0808008 時間: 2010-3-5 11:22
不好意思 請問一下
我去抓SQL內的資料出來比對
但是我抓出來卻不會比對 只會把全部抓出來(意思就是說 我隨便打一個東西 他就會把所有資料庫內的值秀出來)
不知道是哪邊的問題??(我抓資料的方法不夠好??)
還有 除了資料庫內全部會秀出來之外
在最後一筆資料下面還有個將近15個左右的空白
是要改jquery??
autocomplete.aspx.cs private string Conn = ConfigurationManager.AppSettings["ConnectionString"];
protected void Page_Load(object sender, EventArgs e)
{
getData1();
}
private void getData1()
{
string q = Request["q"];
if (q == "")
{
return;
}
else
{
SqlCommand oCmd = new SqlCommand();
oCmd.Connection = new SqlConnection(Conn);
oCmd.CommandText = @"select case_name from shtc_case group by case_name";
oCmd.CommandType = CommandType.Text;
SqlDataAdapter oda = new SqlDataAdapter(oCmd);
DataSet ds = new DataSet();
oda.Fill(ds);
string[] data = new string[ds.Tables[0].Rows.Count];
for (int j = 0; j < ds.Tables[0].Rows.Count; j++)
{
string ss = ds.Tables[0].Rows[j]["case_name"].ToString();
data[j] = ss.ToString();
}
foreach (string x in data)
{
Response.Write(x+"\n");
}
//string[] data = new string[] { "trhtrhr", "acvbcv", "cbvxbdfb", "adqfvbb", "otulyjfgsdg" };
}
}
}
作者: wmh 時間: 2010-3-9 08:34
回復 99# a0808008
你 SQL 語法要修改,針對傳入的 Request["q"] 做資料篩選喔。
歡迎光臨 jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化 (http://jsgears.com/) |
|