2014-10-04 130 views
-2

我使用经典ASP来创建自动完成页面。我有两个不同的页面,autocomplete.aspsource.asp。我的代码如下:经典ASP自动完成

autocomplete.asp

<%@ language="VBScript" %> 
<!doctype html> 
<html lang="en"> 
    <head> 
     <meta charset="utf-8"> 
     <title>jQuery UI Autocomplete - Default functionality</title> 
     <link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"> 
     <script src="//code.jquery.com/jquery-1.10.2.js"></script> 
     <script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script> 
     <link rel="stylesheet" href="/resources/demos/style.css"> 
     <!-- SCRIPT FOR AUTOCOMPETE SEARCH BOX //--> 
     <script type="text/javascript" language="javascript"> 
      $(function() { 
       $("#productname").autocomplete({ 
        source: "source.asp", 
        minLength: 2 
       }); 
      }); 
     </script> 

    </head> 
    <body> 

     <p>&nbsp;</p> 

     <div class="ui-widget"> 
      <label for="tags">Tags: </label> 
      <input id="productname"> 
     </div>  
     <p>&nbsp;</p> 
    </body> 
</html> 

sourse.asp

<%@ language="VBScript" %> 

     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2 /jquery.js" ></script> 
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js" ></script> 
     <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css"/> 

     <!-- SCRIPT FOR AUTOCOMPETE SEARCH BOX //--> 

    </head> 

    <% 
    Dim keywords, keywords_cmd, output, firstItem 

    Set keywords_cmd = Server.CreateObject ("ADODB.Command") 
    keywords_cmd.ActiveConnection = "DRIVER={SQL Server};SERVER=wsgpdba4.sgp.is.keysight.com;UID=kportal;PWD=q1w2e3r4;DATABASE=A_Sys" 
    keywords_cmd.CommandText = "SELECT ProductId FROM Product where ProductId like '%" & Request.QueryString("term") & "%'" 
    keywords_cmd.Prepared = true 

    Set keywords = keywords_cmd.Execute 

    output = "[" 

    While (NOT keywords.EOF) 
     output = output & "{""ProductId"":""" & keywords.Fields.item("ProductId") & """}," 
     keywords.MoveNext() 
    Wend 

    keywords.Close() 
    Set keywords = Nothing 

    output=Left(output,Len(output)-1) 
    output = output & "]" 
    response.write output 

    %> 
    <body> 

    </body> 
</html> 

source.asp回到我这个样子:

[{"ProductId":"111 "}]

请帮助

+0

您的第二段代码似乎没有正确格式化;你似乎缺少'document','html'和'head'标签(尽管这与你所遇到的没有多大关系)。 – Paul 2014-10-06 12:53:19

回答

-1

我不是这里的问题100%清楚,但jQuery UI的控制需要具有的价值和标签预期表单数据:

[{"value":"111", "label":"sample product"}] 

或者你也可以提供字符串数组,如果你不关心的值:

["product one", "product two"] 

你还没有从你的数据库,只是标识选择产品名称,因为我认为你自动完成需要展示产品列表名字呢?