javascript - Jquery 自动建议不会更新新选择

标签 javascript jquery autocomplete fadein fadeout

不知道有没有人可以帮忙。我正在使用一个从数据库自动完成的脚本,除了我想知道是否有人能够帮助我解决的一个问题之外,该脚本运行良好。

当单击自动建议时,它会用所选内容填充文本框,但如果您尝试进行另一个选择(通过再次开始键入),它不会用新选择填充文本框,而只会保留旧选择。

下面是我的代码...

rtsearch.php(删除 PHP 以节省空间),用于抓取数据来填充 html 表单和 div:

<div class="display_box2" align="left">
<span class="name"><b><?php echo $country; ?></b>, <span class="bodyotxt"><?php echo $row['town']; ?></span></span>
</div>
<?php } } ?>

实际的 HTML 表单自动完成:

<div><form action="<? $_SERVER['php self'];?>" method="post" enctype="multipart/form-data" name="form1" class="form" id="form1" autocomplete="off">
 <input name="rt" type="text" class="search2" id="inputSearch2" value="" onclick="this.value='';" /></form>
      <div id="divResult2"></div>
 </div>

JQUERY:

$(document).ready(function(){
$(".search2").keyup(function() 
{ 
var inputSearch2 = $(this).val();
var dataString = 'searchword='+ inputSearch2;
if(inputSearch2!='')
{
$.ajax({
type: "POST",
url: "autocomplete/rtsearch.php",
data: dataString,
cache: false,
success: function(html)
{
$("#divResult2").html(html).show();
}
});
}return false;    
});

$("#divResult2, #divResult2 span").on("click",function(e){ 
//var $clicked = $(e.target);
if($(this).parent().attr("id")=="divResult2"){ var $clicked = $(this).parent(); }else{ var $clicked = $(e.currentTarget); }
var $name = $clicked.find('.name').html();
var decoded = $("<div/>").html($name).text();
$('#inputSearch2').val(decoded);
});


$(document).on("click", function(e) { 
var $clicked = $(e.target);
if (! $clicked.hasClass("search2")){
$("#divResult2").fadeOut(); 
}
});
$('#inputSearch2').click(function(){
$("#divResult2").fadeIn();
});
});

我已经浏览过了,但似乎找不到问题所在。

提前感谢任何能够阐明这一点的人

最佳答案

您是否尝试过使用e.currentTarget而不是e.target

关于javascript - Jquery 自动建议不会更新新选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13494169/

相关文章:

javascript - 推送到具有 __proto__ 的 Javascript 数组

android - 带有条件的 SQLite 自动完成列表

javascript - Word 加载项获取完整的文档文本?

javascript - Rails,JSON api 返回商品列表的价格

javascript - 为什么我的 datatables.js 上的搜索功能不起作用?

javascript - 基金会在 3 秒后关闭警报

python - 带有 python 字典的类似自动完成的功能

android - 在 Android Cordova-app 中关闭文本区域和输入字段的自动完成

javascript - 显示与谷歌浏览器中键入的不同的键盘字符

jquery - 更改元素的 CSS 属性