jquery - 在页面 onLoad 期间将用户加载到 jQuery 中以进行实时搜索

标签 jquery

所有, 我有以下代码,它基本上是一个在 DOM 加载时加载一些搜索词的函数:

window.myAutocompleteFunction = function(){
return ['Test Saying','sit amet consectetur adipiscing','elit Nulla et justo'];
};

这对于我的实时搜索和正确更新来说效果很好。不过,我正在尝试根据数据库中的一些信息填充这些值。我尝试更新我的代码以使用 .get 函数来填充我的返回值,并尝试使其看起来像这样:

window.myAutocompleteFunction = function(){
$.get('http://localhost/website/load_users.php', function(data) {
    alert(data);
    return [data];
});
};

它尝试加载用户,在我的警报中它与手动输入时相同,但由于某种原因,当我进行搜索时它不起作用。知道如何从我的文件中获得相同的结果并使搜索工作相同吗?

编辑:我的 load_users.php 文件中现在唯一的内容如下:

'Test Saying','sit amet consectetur adipiscing','elit Nulla et justo'

I'm going to try and populate that with database values but just trying to get this to work for now.

Another Edit: I also tried to make my code like the following just to see if it work work:

window.myAutocompleteFunction = function(){
jQuery.get('http://localhost/okyne/load_users.php', function(data) {
    alert(data);
    return ['Test Saying','sit amet consectetur adipiscing','elit Nulla et justo'];
});
};

这也不起作用,所以我不确定为什么它不起作用,到目前为止唯一对我有用的是我提供的第一个代码片段。

非常感谢您提供的任何帮助!

最佳答案

您的 $.get 无法返回这样的值,因为它异步运行,浏览器开始评估它,继续前进并以该 fn 结束。在它完成之前。 此外,特定的返回将针对内部成功回调函数,而不是自动完成函数。您必须加载数据并在成功回调中创建该函数。

这是一个模型示例。 http://jsfiddle.net/Nf2UD/

注意,我使用 setTimeout 来确保 ajax 调用已完成,但您需要确保在页面初始化期间调用 randomFn,以确保它在您尝试使用自动完成之前已运行。您可以通过多种方式检查这一点 - 使用全局变量来跟踪状态,检查自动完成函数是否未定义,......事实上,这并不是异步方法的真正要点,但无论对您有用什么,我都会这样做。猜猜。

function() randomFn {
    $.get('http://localhost/website/load_users.php', function(data) {
        alert(data);
        window.myAutocompleteFunction = function(){ return [data]; };
    });
};

关于jquery - 在页面 onLoad 期间将用户加载到 jQuery 中以进行实时搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11424741/

相关文章:

javascript - 为什么手动删除会破坏我的 JQuery 自动完成功能?

javascript - 重叠的 jquery 自动完成组合框

php - jQuery Ajax 发送空数据

php - jQuery 从多个元素中选择

asp.net - 如何使用 jQuery 捕获 ASP.NET GridView 中的 'Update' 点击事件

jquery - 无法将文本字符串传递到 jquery 函数中?

jquery - 如何使全日历中过去的日期不可选择?

jquery - Firefox:点击 CSS 伪元素不会触发点击事件

javascript - Jquery 选择器有效性/范围

javascript - 使用 ajax 读取 XML 节点