我是PHP和JS的初学者,当我分配了一个模糊功能时,我在函数中遇到了问题。实际上,我在INPUT中有自动完成,其中出现UL LI列表。但是当我点击输入时,列表不会消失。我在堆栈和其他网站上尝试了4天很多解决方案,但不可能做我想要的!当列表消失时,无法单击列表上的元素以将其保留在输入中。否则,当我点击任何地方时,无法隐藏列表。请你能给我一些帮助。这是我的一小部分问题:(抱歉我的英语不好^^)
function megaFunction() {$('.recherche').on('keyup',autocomplete);}
function autocomplete() {
var searchField = $(this);
var keyword = searchField.val();
var typ_id = searchField.data('type');
$.ajax({
url: 'autocomplete.php',
type: 'POST',
data: {keyword:keyword,typ_id:typ_id},
success:function(data){
searchField.next().html(data);
searchField.next().find('li').on('click',function(){
searchField.val($(this).text());
searchField.next().hide();
})
}
});
}
和HTML表格
<tr data-id="'.$typ_id.'" >
<td class="add input_container">
<input type="text" class="recherche" data-type="'.$typ_id.'" data-champs="intitule"size="75"/>
<ul class="mets_list_intitules ui-autocompletes"></ul>
</td>
----&GT;我在autocomplete.php
中的SQL QUERY之后添加了列表(LI)foreach ($list as $rs) {
echo '<li class="liste">'.$rs['mets_intitules'].'</li>';}
如果我点击UL LI的一个元素,当我点击任何地方时,我可以将模糊功能隐藏在列表中,但是保留项目是否可以? 提前谢谢,因为我会疯了! ;)