我正在尝试创建一个jquery,它将过滤IE中下拉菜单的选择。我尝试按照JQuery Hide Option doesn't work in IE and Safari(用户kinnou)的说明操作,但似乎隐藏也是删除选项。 代码是:
function filterDP(element) {
var value = $(element).val();
var dropdown = "#dropdownIdName";
$( dropdown+" > option").each(function() {
var optionValue = $(this).val();
if (navigator.appName == 'Microsoft Internet Explorer') {
$(dropdown).find('option[value="' + optionValue + '"]').map(function () {return $(this).parent('span').length === 0 ? this : null;})
.wrap('<span>');
} //'Microsoft Internet Explorer'
if ((value == "") || ($(this).text().search(value) > -1) ){ // Found=>show();
if (navigator.appName == 'Microsoft Internet Explorer') {
$(dropdown).find('option[value="'+optionValue+'"]').unwrap().show();
}
else {
$(this).show(); //all other browsers use standard .show();
}
}
else { // not found=> Hide
$(dropdown).find('option[value="'+optionValue+'"]').hide();
}
else {
$(this).hide(); //all other browsers use standard .show();
}
});
}
激活它的代码:
aa.prepend($('<input/>', {id: 'DPFilter',
onkeyup: 'filterDP(this)'
}));
答案 0 :(得分:0)
错误符合: $(dropdown +“&gt; option”)。each(function()。 每次输入时,“选项”都包含“span”。因此,$(下拉+“&gt;选项”)返回的选项越来越少。 该行应更改为: $(下拉).find(“option”)。each(function()...