数据源 add.asp
<!--#include file="sys_conn.asp"-->
<%
sql = "select * from (select distinct(vname) from ven_t_vendor ) as a"
dim str
str = "["
set rs = server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
i=1
if rs.recordcount>0 then
        do while not rs.eof
                if i=1 then
                        str = str&"'"&replace(rs("vname"),"'","")&"'"
                   else
                        str = str&",'"&replace(replace(replace(rs("vname"),"'",""),"""",""),"","")&"'"
                end if
i=i+1
rs.movenext
loop
end if
rs.close
set rs = nothing
conn.close
set conn = nothing
str = str&"]"
'Response.CharSet = "GB2312" 
response.Write str
%>
调用的jquery.autocomplete
<script src="jquery-1.3.2.min.js" type="text/javascript"></script>
<link rel="stylesheet" media="screen" href="jquery.autocomplete.css" type="text/css">
<script src="jquery.autocomplete.js" type="text/javascript"></script><script type="text/javascript">
<!--
function findValue(li) {
if( li == null ) return alert("无数据!");
if( !!li.extra ) var sValue = li.extra[0];
}function selectItem(li) {
findValue(li);
}function formatItem(row) {
return row[0] + " (id: " + row[1] + ")";
}function lookupLocal(){
var oSuggest = $("#ven_name")[0].autocompleter; oSuggest.findValue(); return false;
}$(document).ready(function() {
$("#ven_name").autocompleteArray("add.asp",
{
delay:10,
minChars:1,
matchSubset:1,
onItemSelect:selectItem,
onFindValue:findValue,
autoFill:true,
maxItemsToShow:10
}
);
});
-->
</script><input type="text" name="ven_name" id="ven_name" value="" onChange="lookupLocal()" size="35">
为什么不管用呢,文本框不提示??

解决方案 »

  1.   

    你要先确定asp页面能够返回正确格式的数据。
      

  2.   

    asp页面返回的数据没有问题,把数据在jquery中写成数组没问题,动态的就不行了????
      

  3.   


    (document).ready(function() {
        $("#ven_name").autocompleteArray("add.asp"+new Date(),//有缓存吧
            {
                delay:10,
                minChars:1,
                matchSubset:1,
                onItemSelect:selectItem,
                onFindValue:findValue,
                autoFill:true,
                maxItemsToShow:10
            }
        );
    你在文本框输入数据的时候,在后台看看有没有执行。如果每次都执行了没有提示应该是前台原因
    如果就执行一次,就是缓存了
      

  4.   

    提示unfinished为空或不是对象?