在网站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函数中,我切换了引号,例如:"到"
理查