Tôi đang cố gắng ẩn một số tùy chọn từ menu thả xuống. JQuery's .hide() và .show() hoạt động tốt trong Firefox và Chrome, nhưng không có may mắn trong IE.Cách Ẩn và Hiển thị Tùy chọn CHỌN bằng JQuery trong IE
Bất kỳ ý tưởng hay nào?
Tôi đang cố gắng ẩn một số tùy chọn từ menu thả xuống. JQuery's .hide() và .show() hoạt động tốt trong Firefox và Chrome, nhưng không có may mắn trong IE.Cách Ẩn và Hiển thị Tùy chọn CHỌN bằng JQuery trong IE
Bất kỳ ý tưởng hay nào?
Trong nhiều phương pháp có thể, phương pháp này yêu cầu trình duyệt đánh hơi (nói chung là không tuyệt vời) nhưng không yêu cầu phải có nhiều bản sao của cùng một danh sách lựa chọn để hoán đổi vào và ra.
//To hide elements
$("select option").each(function(index, val){
if ($(this).is('option') && (!$(this).parent().is('span')))
$(this).wrap((navigator.appName == 'Microsoft Internet Explorer') ? '<span>' : null).hide();
});
//To show elements
$("select option").each(function(index, val) {
if(navigator.appName == 'Microsoft Internet Explorer') {
if (this.nodeName.toUpperCase() === 'OPTION') {
var span = $(this).parent();
var opt = this;
if($(this).parent().is('span')) {
$(opt).show();
$(span).replaceWith(opt);
}
}
} else {
$(this).show(); //all other browsers use standard .show()
}
});
tín dụng cho điều này nằm thẳng với Dima Svirid đây: http://ajax911.com/hide-options-selecbox-jquery/
Tác phẩm này, nhưng cuối cùng, giải pháp trình duyệt chéo tốt hơn và sạch hơn là tạo, thêm và xóa các mục đã chọn trong thời gian thực bằng tập lệnh. –
Tuyệt vời @tony :) Hoạt động hoàn hảo! –
Điều này là vô cùng khó khăn, mặc dù đáng buồn là giải pháp duy nhất tôi có thể tìm thấy cho một dự án mà có thể đã yêu cầu một recode đáng kể để thực hiện bất kỳ phương pháp khác. Chúc mừng. – AJReading
Chỉ cần đề cập đến IE11 navigator.appName trả về 'Netscape' :) Vì vậy, dùng nó vào xem xét:
$("select option[value='your_option_value']").wrap((navigator.appName == 'Microsoft Internet Explorer' || navigator.appName == 'Netscape') ? '<span>' : null).hide();
Điều này là một điểm tốt. Tuy nhiên, các trình duyệt khác cũng có thể [chọn trả lại 'Netscape' tại đây] (http://stackoverflow.com/questions/14573881/why-does-javascript-navigator-appname-return-netscape-for-safari-firefox-and- ch), vì vậy số dặm của bạn có thể thay đổi. –
thể chúng ta thấy một số mã maby? –