我设置了一个自动提示,其中一个人可以进入一个州并被引用到我网站上的一个页面。我将它链接到一个数据库,因为一旦我得到这个简单的例子,我将在数据库中有50,000个位置来查找。现在我只有州。
除了当用户从列表中选择状态时,一切都很好,但是在框中填写的名称是我发送它们的URL链接,而不是正确的标签。 (但我仍然会将它们发送到网址。)这是一个小点,但它看起来并不合适。有什么想法吗?jQuery(document).ready(function($){
$('#searchbox').autocomplete({
source:'suggest.php',
minLength:1,
select: function(event, ui) {
$( "#searchbox" ).val( ui.item.label );
var url = ui.item.value;
if(url != '#') {
window.location.href = url;
}
},
html: true,
open: function(event, ui) {
$(".ui-autocomplete").css("z-index", 1000);
}
});
});
php返回Web链接和正在搜索的标签:
while( $row = mysql_fetch_array($rs, MYSQL_ASSOC) )
{
$data[] = array(
'label' => $row['Label'],
'value' => $row['Link']
);
}
以下是运行1
的示例答案 0 :(得分:1)
select
方法的默认行为似乎是将文本框设置为使用value
而不是label
。所以使用$( "#searchbox" ).val( ui.item.label );
无效,无论你放在那里的字符串如何。在这种情况下,我们应该停止默认行为。
将event.preventDefault()
放入select函数似乎可以解决问题。
select: function(event, ui) {
event.preventDefault();
$( "#searchbox" ).val( ui.item.label );
var url = ui.item.value;
if(url != '#') {
window.location.href = url;
}
}