我想知道是否可以通过jquery使用输入框来过滤选择列表,从而获得帮助。

这是我的js的样子,但是似乎不起作用。
我猜这是因为选择列表中的选项不可隐藏。

    <script type="text/javascript">
    $(document).ready(function() {
        $("#inputFilter").change(function() {
            var filter = $(this).val();

            $("#selectList option").each(function() {
                var match = $(this).text().search(new RegExp(filter, "i"));
                if (match > 0) {
                    $(this).show(); // Does not work
                }
                else
                    $(this).hide();
            });
        });
    });
</script>


这是我的html

<input id="inputFilter" />
<select id="selectList">
    <option value="1111" >1111 - London</option>
    <option value="1112" >1112 - Paris </option>
</select>

最佳答案

请尝试以下方法:

$("#inputFilter").change(function() {
    var filter = $(this).val();
    //alert(filter);
    $("#selectList option").each(function() {
        var match = $(this).text().search(new RegExp(filter, "i"));
        //alert(match);
        if (match < 0 && $(this).text() != "--select--")  {
            $(this).attr("disabled",true);
        }
        else
            $(this).attr("disabled",false);

    });
});


您可以在操作here中看到它。

高温超导

10-08 19:20