仅当存在热键时,Jquery自动完成

时间:2011-04-25 17:12:44

标签: jquery asp.net

您好我想带回一些产品和用户名,但是只有在首先输入“@”符号时它们才应该回来,我该怎么做呢?

嗨我设法提出了这个,

<script type="text/javascript">
    $(function () {
                $(".fateinp").autocomplete({
                    source: function (request, response) {
                        $.ajax({
                            url: "WebServices/List.asmx/FetchUsers",
                            data: "{ 'product': '" + request.term + "' }",
                            dataType: "json",
                            type: "POST",
                            contentType: "application/json; charset=utf-8",
                            dataFilter: function (data) { return data; },
                            success: function (data) {
                                response($.map(data.d, function (item) {
                                    return {
                                        value: item._Name
                                    }
                                }))
                            },
                            error: function (XMLHttpRequest, textStatus, errorThrown) {
                                alert(textStatus);
                            }
                        });
                    },
                    minLength: 2
                });
    });
</script>

但每当我添加你的建议时;

var autocompleter = document.getElementById(“some-element”);

我一直认为autocompleter为null,如果这是一个新手问题,请原谅我。感谢

1 个答案:

答案 0 :(得分:2)

使用类似的方式将对AJAX的调用包装为自动完成(或显示它们是否已被缓存)。

var autocompleter = document.getElementById("some-element");

if (autocompleter.value.startsWith("@")) {
  // invoke AJAX here
}