好吧,希望有人可以帮忙。我有一个用于搜索员工的页面。要求是搜索在您键入时回退结果。也许我打算采用完全错误的方式,但是我目前有工作代码。问题是某些结果不按顺序返回。

例如,您可能正在搜索'Don',但是在获得'Do'的结果之前将返回'Don'的结果,而将'Do'的结果保留在屏幕上。

开始新搜索时,是否有任何方法可以清除/取消任何待处理的结果,这样我只能得到最新的结果?

这是代码:

    $('#searchString').keyup(function () {
        searchPeople($(this).val());
    });

    function searchPeople(searchString) {
        var bu = $('#selectedBU').val();
        $('#people_view').clearQueue().load(
            '@Url.Action("PeopleView", "People")',
            { SearchString:searchString.replace(' ', '*|*'),
              bu:bu });
        $('#searchString').focus();
    }

最佳答案

我会使用jquery autocomplete来避免重新发明轮子:)

如果仍然要实现自己的自动完成功能,则必须停止先前的ajax请求。您可以开始here,也可以查看链接的问题以获取更多建议。

关于jquery - 使用jQuery加载LiveSearch的部分 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8942973/

10-11 21:48