javascript - 无法选择 JQuery(移动)/JavaScript 选择选项

标签 javascript jquery jquery-mobile html-select

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

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

我面临的问题是,如果有一个选项我无法选择它,但如果有多个选项我可以。

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

重现问题:在输入框中输入“another”,然后尝试在选择菜单中选择“do another”选项。

如果有多个选项,我可以选择任何选项,因此如果我输入单词“do”,那么我可以选择包含该单词的任一选项。

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 是选择菜单的 ID):

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

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

关于javascript - 无法选择 JQuery(移动)/JavaScript 选择选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27765349/

相关文章:

javascript - 从文件中打印换行数(node.js)

javascript - NestJS 是如何匹配注入(inject)目标和注入(inject)实例的?

javascript - 为 javascript/jQuery API 客户端进行身份验证时如何保护凭据?

jquery - 无法使用 JQuery 和 Ajax 访问 <form> 属性

javascript - 调用新页面Javascript后滚动检测不起作用

javascript - 同一元素上的 jQuery 绑定(bind)

jquery - 使用 jQuery 选择选择元素中的第一个选项

javascript - 从单击的表单提交中获取父级 div 的 id

javascript - 为分组条形图设置域时出错

jquery - 是否应该将 jqGrid 的 addJSONData 的用法替换为 setGridParam() 的用法,并触发 ('reloadGrid' )?