, используя решение, предоставленное AuthorProxy, оно отлично работает для IE, но когда я пытаюсь сделать .val () в раскрывающемся списке в Firefox, я получаю некоторые интересные значения, которые не имеют никакого смысла. Я изменил их опцию, чтобы включить определенные функции браузера, скрыть / показать работы для Firefox.
$.fn.toggleOptionVisibility = function (stateVal) {
var isBool = typeof stateVal === "boolean";
return this.each(function () {
var $this = $(this);
if (navigator.userAgent.indexOf('MSIE') > -1 || navigator.userAgent.indexOf('Trident') > -1) {
if (isBool) {
if (stateVal) $this.filter("span > option").unwrap();
else $this.filter(":not(span > option)").wrap("<span>").parent().hide();
}
else {
$this.filter("span > option").toggleOptionVisibility(true);
$this.filter(":not(span > option)").toggleOptionVisibility(false);
}
}
else {
if (isBool) {
$this.show();
}
else {
$this.hide();
}
}
});
};