jQuery Live Search仅在列表中输入第一个结果

威努

我正在使用以下代码通过SQL查询执行实时搜索。Jquery代码如下所示:

$(document).ready(function() {
    $('#holdername').on('keydown', function() {
        var searchKeyword = $(this).val();
        if (searchKeyword.length >= 3) {
            $.post('holdersearch.php', { keywords: searchKeyword }, function(data) {
            $('ul#liveSearchList').empty()
            $.each(data, function() {
            $('ul#liveSearchList').append('<span class="searchResultItem"><a href="#?hldr=' + this.id + '">' + this.holder + '</a></span></br>'); 
                });
                }, "json").fail($('ul#liveSearchList').empty()); 
            } else {
                $('ul#liveSearchList').empty() 
            };
        });
    $('#liveSearchList').on('click', function() {
        var holderName = $(this).find("a").html();
        console.log("Holder: ",holderName);
        $('#holdername').val(holderName);
        $('ul#liveSearchList').empty()
    });
});

这将创建它应该然而,当选择列表中的任何项目(点击)名单也将只填充输入框与列表中的第一项。不知道为什么要这样做,如果我将鼠标悬停在列表上,该链接将按应有的方式显示hldr的不同值,因此它似乎可以正常工作。console.log确认选择的项目仅仅是有史以来第一个在名单上

利奥波德·斯托克

您在整个ul上添加了click事件,因此请$(this).find("a").html();选择所有<a>元素并返回first的值

您应该将点击事件添加到全部<li><a>元素。尝试这个:

$('#liveSearchList').on('click', 'li', function() {
    var holderName = $(this).find("a").html();
    console.log("Holder: ",holderName);
    $('#holdername').val(holderName);
    $('ul#liveSearchList').empty()
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

jQuery 1.10.2中的“ on”和“ live”

来自分类Dev

文本在jQuery中仅在第一个之后的行上居中

来自分类Dev

为什么jQuery设置jQuery disable属性仅在第一个单选输入上起作用?

来自分类Dev

在一个网站上两次 jQuery Live Search

来自分类Dev

jQuery,:第一个在列表上,但根本不在第一个

来自分类Dev

Javascript / jQuery:仅在第一个文件输入按钮选择了一个文件之后,才显示第二个文件输入按钮

来自分类Dev

基于jQuery中的第一个下拉列表禁用下拉列表

来自分类Dev

在 Jquery 自动完成中遍历列表中的第一个值

来自分类Dev

使用jQuery获取选择列表中第一个选项的值

来自分类Dev

显示父元素列表中的每个第一个元素(jQuery + CSS)

来自分类Dev

使用jQuery检查列表中的第一个可用/缺失ID?

来自分类Dev

jQuery .live()到.on()的参考“ this”

来自分类Dev

jQuery Live预览

来自分类Dev

给定一个 jQuery,如何获取第一个结果元素?

来自分类Dev

prevAll包括jQuery中的第一个元素

来自分类Dev

如何设置使用jquery live()动态生成的动态输入名称

来自分类Dev

为什么live()无法与jQuery一起使用?

来自分类Dev

如何使用jQuery获取表单中的第一个唯一的多值(带数组标记)输入?

来自分类Dev

通过Jquery UI Sortable对列表进行排序后,从列表中获取第一个ID

来自分类Dev

jQuery表单仅在提交时传递第一个选择框值

来自分类Dev

jQuery滚动到仅在第一个滚动上锚定

来自分类Dev

jQuery Pro仅在第一个“ mouseover”事件上起作用

来自分类Dev

jQuery从中继器中的第一个结果返回并设置相同的值和对象

来自分类Dev

如何从jquery中的图像列表中将第一个选定图像作为缩略图图像?

来自分类Dev

如何通过JQuery设置和更改HTML中的select下拉列表的第一个值

来自分类Dev

jQuery addClass 仅适用于多选下拉列表中的第一个选定子项

来自分类Dev

用jQuery仅选择第一个ul中的最后一个li

来自分类Dev

使用JQuery实时大写用户输入的第一个字符

来自分类Dev

总是获取第一个输入元素的值。JQuery Ajax出现问题

Related 相关文章

  1. 1

    jQuery 1.10.2中的“ on”和“ live”

  2. 2

    文本在jQuery中仅在第一个之后的行上居中

  3. 3

    为什么jQuery设置jQuery disable属性仅在第一个单选输入上起作用?

  4. 4

    在一个网站上两次 jQuery Live Search

  5. 5

    jQuery,:第一个在列表上,但根本不在第一个

  6. 6

    Javascript / jQuery:仅在第一个文件输入按钮选择了一个文件之后,才显示第二个文件输入按钮

  7. 7

    基于jQuery中的第一个下拉列表禁用下拉列表

  8. 8

    在 Jquery 自动完成中遍历列表中的第一个值

  9. 9

    使用jQuery获取选择列表中第一个选项的值

  10. 10

    显示父元素列表中的每个第一个元素(jQuery + CSS)

  11. 11

    使用jQuery检查列表中的第一个可用/缺失ID?

  12. 12

    jQuery .live()到.on()的参考“ this”

  13. 13

    jQuery Live预览

  14. 14

    给定一个 jQuery,如何获取第一个结果元素?

  15. 15

    prevAll包括jQuery中的第一个元素

  16. 16

    如何设置使用jquery live()动态生成的动态输入名称

  17. 17

    为什么live()无法与jQuery一起使用?

  18. 18

    如何使用jQuery获取表单中的第一个唯一的多值(带数组标记)输入?

  19. 19

    通过Jquery UI Sortable对列表进行排序后,从列表中获取第一个ID

  20. 20

    jQuery表单仅在提交时传递第一个选择框值

  21. 21

    jQuery滚动到仅在第一个滚动上锚定

  22. 22

    jQuery Pro仅在第一个“ mouseover”事件上起作用

  23. 23

    jQuery从中继器中的第一个结果返回并设置相同的值和对象

  24. 24

    如何从jquery中的图像列表中将第一个选定图像作为缩略图图像?

  25. 25

    如何通过JQuery设置和更改HTML中的select下拉列表的第一个值

  26. 26

    jQuery addClass 仅适用于多选下拉列表中的第一个选定子项

  27. 27

    用jQuery仅选择第一个ul中的最后一个li

  28. 28

    使用JQuery实时大写用户输入的第一个字符

  29. 29

    总是获取第一个输入元素的值。JQuery Ajax出现问题

热门标签

归档