我已经创建了一个搜索筛选器,它分离了与用户输入的选项不匹配的选项。
例如,列表中包含:“你好”、“再见”、“光环”,如果我输入"h“,它将只显示"hello”和"halo“。
我面临的问题是,如果有一个选项,我不能选择它,但如果有多个选项,我可以。
这里是(完整代码) JSFiddle: JSFIDDLE链接
以重新创建问题:在输入框中输入"another“,然后尝试在选择菜单中选择"do”选项。
如果有多个选项,我可以选择任何选项,所以如果我输入单词"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();发布于 2015-01-04 17:39:41
我自己设法解决了这个问题。
显然,对于JQuery手机来说,你需要刷新列表,但是标准的JQuery不需要刷新。
下面是解决方案(其中#问题是select菜单的ID ):
$("#problem").selectmenu("refresh");希望这对任何有这个问题的人都有帮助。
https://stackoverflow.com/questions/27765349
复制相似问题