javascript - 单击后将结果放入文本框中

标签 javascript jquery html

我正在开发一个使用 jquery 的自动完成功能,它工作得很好。结果随着用户的输入而显示。现在的问题是,当用户开始输入并且结果出现时,当用户单击所需的结果时,它不会被放置在文本框中

JS

$(function(){
$(".search_tab").keyup(function() 
{ 

var searchid = $(this).val();
var dataString = 'fname='+ searchid;
if(searchid!='')
{
    $.ajax({
    type: "POST",
    url: "http://localhost/myapp/search.php",
    data: dataString,
    cache: false,
    success: function(html)
    {
    //console.log(html)
    $("#result").html(html).show();
    }
    });
}return false;    
});

$('.search_tab').click(function(){
    jQuery("#result").fadeIn();
});
});

HTML

  <input type="text" class="search_tab" placeholder="Search" autocomplete="off">
   <div id="result"></div> 

最佳答案

您需要对放入 div#result 元素中的项目进行一些事件委托(delegate)。你会想要这样的东西:

$('#result').on('click', 'RESULT_ITEM', function (event) {
  $('input.search_tab').val(event.target.innerHTML);
});

其中 RESULT_ITEM 是与自动完成结果中列出的各个项目相匹配的选择器。

关于javascript - 单击后将结果放入文本框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153737/

相关文章:

javascript - jQuery mouseover/mouseleave event.stopPropagation()

javascript - 如何计算另一个输入框中的html输入框值

javascript - 在对象内调用超时,函数立即被调用

javascript - 输入范围 每份表格仅限一个

javascript - 在 Phaser.io 中创建轮播

javascript - 如何获取本地日期/时间格式?

java - 生命射线;将其他参数传递给 jQuery UI aotocompleter

html - 居中和右对齐带有文本溢出的 flexbox 元素,并在左侧留出空白

html - 使用 CSS 在单个元素中使用多语言样式

asp.net - 不透明度问题 - 还设置图像