自动填充文本框不会在单击文本框时显示结果

时间:2016-10-04 10:00:07

标签: javascript c# jquery asp.net autocomplete

我有一个webBrowser.Document.Body.KeyDown += MyKeyDownHandler; ... private void MyKeyDownHandler(object sender, HtmlElementEventArgs e) { // Set e.ReturnValue false if you want to cancel the key press } autocomplete,它可以过滤我想要搜索的内容。但现在我想要的是,

  

如果用户未在textbox中输入任何内容,只需点击textbox。它应该显示所有结果。这可能吗?

以下是我的代码。

textbox

还可以找到我从中获得参考的链接。

Reference link

更新

服务器端代码

$(document).ready(function () {
        SearchText();
    });
    function SearchText() {
        $("#txt712").autocomplete({
            source: function (request, response) {
                $.ajax({
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    url: "Frm_Agreement_Master.aspx/GetAutoCompleteData",
                    data: "{'username':'" + extractLast(request.term) + "'}",
                    dataType: "json",
                    success: function (data) {
                        response(data.d);
                    },
                    error: function (result) {
                        alert("Error");
                    }
                });
            },
            focus: function () {
                return false;
            },
            select: function (event, ui) {
                var terms = split(this.value);
                terms.pop();
                terms.push(ui.item.value);
                terms.push("");
                this.value = terms.join(", ");
                return false;
            }
        });
        $("#txt712").bind("keydown", function (event) {
            if (event.keyCode === $.ui.keyCode.TAB &&
                $(this).data("autocomplete").menu.active) {
                event.preventDefault();
            }
        })
        function split(val) {
            return val.split(/,\s*/);
        }
        function extractLast(term) {
            return split(term).pop();
        }
    }

2 个答案:

答案 0 :(得分:1)

在服务器代码中检查搜索字符串是否为空并按顺序触发查询

<div class="form-group col-md-offset-4 col-md-6 col-xs-10 col-sm-10 col-lg-4">

答案 1 :(得分:0)

您可以使用&#34; Focus&#34;这样做的事件。

.focus(function () {
    $(this).autocomplete("search");
});

完整代码如下。

    $("#txt712").autocomplete({
        source: function (request, response) {
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: "Frm_Agreement_Master.aspx/GetAutoCompleteData",
                data: "{'username':'" + extractLast(request.term) + "'}",
                dataType: "json",
                success: function (data) {
                    response(data.d);
                },
                error: function (result) {
                    alert("Error");
                }
            });
        },
        focus: function () {
            $(this).autocomplete("search"); //New Code
        },
        select: function (event, ui) {
            var terms = split(this.value);
            terms.pop();
            terms.push(ui.item.value);
            terms.push("");
            this.value = terms.join(", ");
            return false;
        }
    });