0

我有一个要求,我必须在列表中的搜索框中搜索项目 onkeyup,选择几个并将它们移动到另一个列表。我编写了以下脚本,这在 Firefox 中按预期工作,但在 IE9 和 chrome 中不起作用。我是 jQuery 新手,无法找到修复程序。有人可以帮忙吗??提前致谢。

//HTML//
<input type="text" id="searchAvailableLabsTxt" class="searchAvailableLabsTxt
searchbox" onkeyup="filter(this)"/>
<select multiple="true" runat="server" id="AvailableGroupLab" class="
AvailableGroupLab availGrpLabs avalLabs"></select>
//HTML

//JQUERY//
function filter(element) {
var value = $(element).val().toLowerCase();

$(".AvailableGroupLab > option").each(function () {
    if ($(this).text().toLowerCase().search(value) > -1) {
        $(this).show();
    }
    else {
        $(this).hide();
    }
});
}
//JQUERY//
4

1 回答 1

0

代码的问题是hide()在 chrome 和 IE 中不起作用的函数。您可以将选项的副本存储为备份并使用删除选项remove()

现场演示

var options = $(".AvailableGroupLab").clone().html();
function filter(element) {
    $('.AvailableGroupLab').html(options);
    var value = $(element).val().toLowerCase();
    $(".AvailableGroupLab option").each(function () {
        if ($(this).text().toLowerCase().search(value) == -1) {
            $(this).remove();
        }
    });
}
于 2013-07-22T05:00:34.787 回答