jQuery下拉列表-以编程方式显示下拉选项

jQuery下拉列表-以编程方式显示下拉选项,jquery,click,option,dropdown,Jquery,Click,Option,Dropdown,我有一个带有多个选项的选择标签。我有一个用于过滤的搜索框,它根据您键入的文本隐藏或显示选项。我希望下拉选项的方式与单击它时的工作方式相同,但我希望以编程方式进行。我希望有人能理解我想说的话 换句话说,当用户在搜索文本框中键入内容时,我希望我的下拉元素下拉,用户将能够在键入时看到搜索结果 我已经找到了一些和的例子,但是我想要和 HTML 谢谢 根据这一点,这将是最接近的解决方案: $("#search_filter").on('keyup', function(e) { $("#select_

我有一个带有多个选项的选择标签。我有一个用于过滤的搜索框,它根据您键入的文本隐藏或显示选项。我希望下拉选项的方式与单击它时的工作方式相同,但我希望以编程方式进行。我希望有人能理解我想说的话

换句话说,当用户在搜索文本框中键入内容时,我希望我的下拉元素下拉,用户将能够在键入时看到搜索结果

我已经找到了一些
  • 的例子,但是我想要

    HTML

    谢谢

    根据这一点,这将是最接近的解决方案:

    $("#search_filter").on('keyup', function(e) {
      $("#select_street").attr('size', $("#select_street option").length);
      //...
    });
    

    根据这一点,这将是最接近解决方案的方法:

    $("#search_filter").on('keyup', function(e) {
      $("#select_street").attr('size', $("#select_street option").length);
      //...
    });
    


    您的代码实现了您想要的功能,但是您必须从以下隐藏的所有选项开始:

    $("#search_filter").on('keyup', function (e) {
        $("#select_street option").each(function () {
            if ($('#search_filter').val() == '') {
                $('#select_street option').hide();
                $('#select_street').val('');
                return;
            }
            if ($(this).html().toLowerCase().includes($.trim($('#search_filter').val()).toLowerCase())) {
                $(this).show();
                if ($('#select_street').val() == '') {
                    $('#select_street').val($('#select_street option:first').val());
                }
            } else {
                $(this).hide();
                if ($(this).is(':selected')) {
                    $('#select_street').val('');
                }
            }
        });
    });
    $('#select_street option').hide();
    $('#select_street').val('');
    

    没有人使用select的原因是因为您无法以编程方式打开它。我的建议是你选择其中一个,不要试图重新发明轮子。

    你的代码做你想做的,但是你必须从如下隐藏的所有选项开始:

    $("#search_filter").on('keyup', function (e) {
        $("#select_street option").each(function () {
            if ($('#search_filter').val() == '') {
                $('#select_street option').hide();
                $('#select_street').val('');
                return;
            }
            if ($(this).html().toLowerCase().includes($.trim($('#search_filter').val()).toLowerCase())) {
                $(this).show();
                if ($('#select_street').val() == '') {
                    $('#select_street').val($('#select_street option:first').val());
                }
            } else {
                $(this).hide();
                if ($(this).is(':selected')) {
                    $('#select_street').val('');
                }
            }
        });
    });
    $('#select_street option').hide();
    $('#select_street').val('');
    

    没有人使用select的原因是因为您无法以编程方式打开它。我的建议是你选择其中一个,不要试图重新发明轮子。

    可能重复的可能,但选择focus()时,用户将无法继续键入搜索文本框。.可能重复的可能,但选择focus()时,用户将无法继续键入搜索文本框。.我将应用一些淡入淡出效果。.会很好。谢谢我会应用一些淡入淡出的效果,那就好了。谢谢嗯…如果我以前知道的话…谢谢!我有工作要做:)好吧……如果我以前知道的话……谢谢!我有工作要做,我知道:)