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");
希望这对遇到此问题的任何人有所帮助。