jquery UI 自动完成功能无缘无故停止工作


jquery ui autocomplete stopped working for no reason

在网站cms中,我正在使用jquery自动完成。我像一个魅力一样工作。但突然间,几周后,它停止了工作。在此期间绝对没有更改任何代码。我正在使用jquery 1.6.2和jquery ui 1.8.13。代码如下:

$(function() {
    var artists = [<?php getArtists(); ?>];
    $("#artistsearch").autocomplete({
        source: artists,
        select: function(event, ui){
            $("#artistsearch").val(ui.item.artistsearch);
        },
        change: function(event, ui) { $("#search").submit(); }
    });
});

数组artists是正确的数组,但太长,无法在此处发布。我希望这里有人可以帮助我解决这个问题。

提前感谢,理查德

我有一个带有字段artistsearch的表单

编辑:谢谢人们。

我没有收到通知邮件,所以我的回复有点晚了。

echo 在 getArtist() 函数中,并提供了一个漂亮的数组。正如我在最初的问题中所说,整个事情确实有效,但突然停止工作,没有更改任何代码。起初我认为它可能是数组中的无效项目,所以我硬编码了一个简单的 2 个项目数组,它也不起作用。

可能是服务器问题吗?我真的对此感到困惑,我以前在我的职业生涯中没有看到过这种行为。

需要如下(假设您的getArtists()函数尚未echo),每当您在 JavaScript/JQuery 中使用 PHP 变量时,您都必须回显它们:)或者你可以使用短标签(感谢diEcho):

$(function() {
    var artists = [<?php echo getArtists(); ?>];
    $("#artistsearch").autocomplete({
        source: artists,
        select: function(event, ui){
            $("#artistsearch").val(ui.item.artistsearch);
        },
        change: function(event, ui) { $("#search").submit(); }
    });
});
问题

解决了!

事实证明,一些数组项目在哪里打破了数组。在getArtist函数中,我切换了引号,例如:"到"

理查