autosuggestion ASP经典+ ajax

时间:2011-03-22 00:48:29

标签: asp-classic

任何人都可以指导我如何创建自动提供功能..类似下面的链接。 http://www.brandspankingnew.net/specials/ajax_autosuggest/ajax_autosuggest_autocomplete.html

谢谢

2 个答案:

答案 0 :(得分:0)

我使用jQuery UI自动完成小部件完成了这项工作。

我将小部件用于所有样式,但是对于信息源,我使用了.asp页面,该页面根据已经在框中输入的字符运行SQL查询。

因此,当有人在框中键入“ca”时,在密钥发布时,.asp页面将加载SQL查询“选择关键字,其中关键字如'ca%'”等等。

然后,jQuery UI小部件将根据查询中的最佳建议更新自动完成。

您可以在http://www.constructionequipmentguide.com的标题中看到它。

答案 1 :(得分:0)

这是一些JS / ASP-Classic,它使用the AdventureWorks2008LT sample database available from Microsoft中的Customer表查询数据库是否存在可能的完成。

<%@ language="Javascript" %>

<script language="javascript" runat="server" src='json2.js'></script>
<script language="javascript" runat="server" src='stringExtensions.js'></script>
<script language="javascript" runat="server">

(function() {

    queryDb = function(like) {
        var conn, rs, result = [], C, rec;
        conn = new ActiveXObject("ADODB.Connection");

        conn.ConnectionString =
            'Provider=SQLOLEDB.1;' +
            'Integrated Security=SSPI;' +
            'Persist Security Info=False;' +
            'Initial Catalog=AVWKS2008LT;' +
            'Data Source=.\\SQLEXPRESS';

        conn.Open();
        rs = new ActiveXObject("ADODB.Recordset");
        var query =
            'SELECT distinct Lastname as lname ' +
            'FROM SalesLT.Customer ';
        if (like !== null) {
            query += "WHERE LastName like '" + like + "%' ";
        }

        rs.Open(query, conn, 1, 3);
        while(!rs.EOF) {
            // retrieve the 0th field
            result.push(rs.Fields(0).Value.trim());
            rs.MoveNext();
        }
        conn.Close();
        return result;
    };

}());


try {
    var t = Request.QueryString('token') + '',
        token = (t == 'undefined') ? null : t,
        r = queryDb(token);
    Response.Write(JSON.stringify(r));
}
catch(e) {
    Response.Write(e.message);
}

</script>