Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击后将结果放置在文本框中_Javascript_Jquery_Html - Fatal编程技术网

Javascript 单击后将结果放置在文本框中

Javascript 单击后将结果放置在文本框中,javascript,jquery,html,Javascript,Jquery,Html,我正在开发一个自动完成jquery的程序,它工作得非常好。结果将显示为用户类型。现在的问题是,当用户开始键入并显示结果时,当用户单击所需的结果时,它不会被放置在文本框中 JS HTML 当我深入研究这一点时,您是否考虑过使用jQuery UI来实现这一点 这是一个很好的和抛光的方式做什么,正是你想要的 我不太清楚我为什么会被否决,因为我的建议是解决这个问题的一个非常有效的办法 这里所说的对你来说是一把有用的小提琴 您似乎缺少的主要部分如下: $('#result').on('click','

我正在开发一个自动完成jquery的程序,它工作得非常好。结果将显示为用户类型。现在的问题是,当用户开始键入并显示结果时,当用户单击所需的结果时,它不会被放置在文本框中

JS

HTML


当我深入研究这一点时,您是否考虑过使用jQuery UI来实现这一点

这是一个很好的和抛光的方式做什么,正是你想要的

我不太清楚我为什么会被否决,因为我的建议是解决这个问题的一个非常有效的办法

这里所说的对你来说是一把有用的小提琴

您似乎缺少的主要部分如下:

$('#result').on('click','li',function(){
    /* I used li as the element as im unsure what your response html looks like */
    let newValue = $(this).text();
    $('.search_tab').val( newValue );
    $('#result').html('').hide();
});
$('#result').on('click', 'RESULT_ITEM', function (event) {
  $('input.search_tab').val(event.target.innerHTML);
});
这将清除结果,设置单击的值,并为您隐藏结果框

它包含一个为您准备的工作方案。由于我无法访问AJAX,您的本地资源我不得不推断并创建我自己的自动填充,以显示它的工作原理,但是我当然可以帮助您根据您的需要定制解决方案


此解决方案使用您的代码,并且与所有当前jQuery版本兼容。

您需要对放入
div#result
元素的项目执行一些事件委派。你会想要这样的东西:

$('#result').on('click','li',function(){
    /* I used li as the element as im unsure what your response html looks like */
    let newValue = $(this).text();
    $('.search_tab').val( newValue );
    $('#result').html('').hide();
});
$('#result').on('click', 'RESULT_ITEM', function (event) {
  $('input.search_tab').val(event.target.innerHTML);
});

其中,
RESULT\u ITEM
是一个选择器,它匹配自动完成结果中列出的各个项。

您是否有从AJAX调用返回的示例代码段?在文本框
$(“#RESULT”).html(html.show()之后添加一个id
填写文本框
$(“#textSearch”).val(html)在jQuery的版本3中不推荐使用。既然替代品已经存在,那么最好现在就开始使用。我不知道。它似乎将
上的
的含义重载为两种不同的含义。不过,与JQuery争论毫无意义。已修复。@tengbretson重载是jQuery原理的一个重要部分,就像使用
.click()
触发单击或添加单击侦听器,这取决于您是否给出参数。您能将此结果放入我的脚本中吗?我有点困惑,我对jqueryI不太熟悉。我需要看一个来自web服务的ajax响应示例。。。我不知道为什么这会被否决,因为我已经提供了两个有效的解决方案,同时也修改了代码,表明它是有效的。。。如果我得到一些反馈,我会更有帮助。