0

希望是一个简单的问题,我正在使用 jQuery 自动完成功能,它工作正常,并且基于 SQL 查询返回值 where LIKE $querystring

现在我想在我的 ASPX 页面上添加一个额外的下拉列表,它将根据选择的内容运行不同的 SQL 查询,该查询将传递给Search.php用户在自动完成字段中输入的同时。

所以简单地说,我想使用下拉列表来搜索我的 SQL DB 中的不同行并根据该行返回自动完成结果。有人可以从 ASPX 方面帮助我,以及如何从 PHP 方面读取值。

ASPX 代码是这样的http://jqueryui.com/autocomplete/#remote

谢谢

4

1 回答 1

0

是的!!

从 aspx 方面:有多种方法可以做到这一点,但我更喜欢Bootstrap 的TypeAhead

这里添加 data-provide 属性

您可以使用

    <asp:TextBox ID="ucUserSearch" runat="server" class="typeahead" 
   data-provide="typeahead" placeholder="Enter text" autocomplete="off" 
    data-items="4" />

然后从服务器端使用 json 字符串化对象从 search.php 传递数据。

使用 url 作为 search.php 进行 ajax 调用,并将数据源附加到文本框。

这是我在最近的一个项目中使用的示例代码。我的意思是您可以编写类似的代码来实现结果。

这里我们使用了 typeahead 类,所以让我们通过 Jquery 选择该元素

 jQuery(function ($) {
        $('.typeahead').typeahead({
            source: function (query, process) {

                return $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "search.php",
                    data: '{ "prefixText": "' + query + '" }',
                    dataType: "json",
                    success: function (data) {
                        //On Success lets return the values
                        //Please make sure to check how the json data is 
                         //coming I had to use data.d in my case
                        var jsonData = FetchedData(data.d);
                        return process(jsonData);
                    },
                    failure: function (response) {
                        alert("Failure");
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                        alert("There seems to be an error");
                    }
                });
            }
        });
    });


function FetchedData(data) {
            return data;
        }

干杯!!!

注意:这里我使用了 bootstrap.css、jquery 和 bootstrap.min.js 文件,请确保包含这些文件

于 2013-09-09T13:51:33.213 回答