JQuery(手机)/JavaScript Select 选项无法选择

JQuery (Mobile) / JavaScript Select option cannot be selected

我创建了一个搜索过滤器,用于分离与用户输入内容不匹配的选项。

例如,列表包含:"hello"、"good bye"、"halo",如果我输入"h",那么它只会显示"hello"和 "halo".

我面临的问题是,如果有一个选项我不能select,但如果有多个选项我可以。

这是(完整代码)JSFiddle: JSFIDDLE LINK

重现问题:在输入框中输入"another",然后尝试selectselect中的"do another"选项=]菜单。

如果有多个选项,我可以 select 任何选项,所以如果我输入单词 "do",那么我可以 select 包含该单词的任一选项。

var probOptions = $("#problem>option");

function searchFilter() {
    $("#searchInput").change(function() {
        var searchString = $(this).val().toLowerCase();
        $("#problem").empty().append(probOptions);
        $("#problem>option").each(function() {
            var text = $(this).text().toLowerCase();
            if (text.indexOf(searchString) <= -1) {
                $(this).detach();
                // THE LINE BELOW FIXES THE PROBLEM (THE LINE BELOW IS NEWLY ADDED)
                $("#problem").selectmenu("refresh");
            }

        });

    });

}

searchFilter();

我设法自己解决了这个问题。

显然,对于 JQuery 移动设备,您需要刷新列表,但标准 JQuery 您不需要。

解决方法如下(#problem 是 select 菜单的 ID):

$("#problem").selectmenu("refresh");

希望这对遇到此问题的任何人有所帮助。