我集成了一个搜索功能,将动态填充数据库中的内容下拉菜单。尽管如此,当下拉菜单中的一个选项被点击时,我希望搜索功能“重置”它自己,这样就可以选择另一个选项,从而在输入框中有两个或更多可能的选择。例如,以下是所需的输出:

目前,下面的代码只允许动态下拉列表生成一次:
jQuery(".search").keyup(function() {
var searchbox = jQuery(this).val();
var dataString = 'searchword='+ searchbox;
if(searchbox==''){
jQuery("#display").hide();
} else {
jQuery.ajax({
type: "POST",
url: "/inbox/user-search/",
data: dataString,
cache: false,
success: function(html)
{ jQuery("#display").html(html).show();
jQuery("li").click(function(){
jQuery("#send-message-to-user").val(jQuery.trim(jQuery(this).text())+"; ");
jQuery("#display").hide();
})
}
});
} return false;
});很明显我遗漏了一些东西...任何帮助都将不胜感激。干杯
发布于 2014-04-29 06:00:48
当HTML不在这里的时候就有点困难了。这让你上路了吗?:
function getTextBehindLastSemicolon(string) {
if (string.match(/\;\ (.*)$/)[0]){
return string.match(/\;\ (.*)$/)[0];
}
else{
// If no semicolons
return string;
}
}
var isLoading=false;
function autocomplete(searchWord) {
if (isLoading){
return;
}
isLoading=true;
var dataString = 'searchword=' + searchWord;
if (searchWord == '') {
jQuery("#display").hide();
} else {
jQuery.ajax({
type: "POST",
url: "/inbox/user-search/",
data: dataString,
cache: false,
success: function(html) {
jQuery("#display").html(html).show();
jQuery("li").click(function() {
jQuery("#send-message-to-user").val(jQuery.trim(jQuery(this).text()) + "; ");
jQuery("#display").hide();
});
isLoading=false;
}
});
}
return false;
}
jQuery(".search").keyup(function() {
autocomplete(getTextBehindLastSemicolon(jQuery(this).val()));
return false;
});https://stackoverflow.com/questions/23351791
复制相似问题