我写了一些代码。在chrome、safari和mozilla上工作的代码,但在explorer上不工作的代码。
$('#vize-islem').hide();
$('#vize-bilgi').hide();
$('#vize-ulke').on('change', function(e) {
let self = $(e.target);
self.next('a').attr('href', self.find(':selected').data('url')).html('<i class="fas fa-external-link-alt"></i>' + self.find(':selected').text());
$('#vize-islem').hide();
$('#vize-bilgi').hide();
$.get('vize/vizeislem/' + self.val(), function(result) {
$('#vize-islem option').remove();
$('#vize-islem').append('<option value="">Seçiniz</option>');
if ( result.length > 0 ) {
$('#vize-islem').show('slow');
for (let key in result) {
let kategori = result[key];
console.log(kategori);
$('#vize-islem').append(`<option value="${kategori.id}" data-url="${kategori.url}">${kategori.title}</option>`);
}
}
}, 'json');
});
我想在探险者身上隐藏和改变。
最佳答案
Template literals在任何版本的IE中都完全不受支持。同样,let
关键字只在IE11中有效。您需要改用var
和字符串连接。
还要注意,应该在逻辑中缓存重复的选择器以提高性能。试试这个:
var $vize_islem = $('#vize-islem').hide();
var $vize_bilgi = $('#vize-bilgi').hide();
$('#vize-ulke').on('change', function(e) {
let $self = $(e.target);
$self.next('a').attr('href', $self.find(':selected').data('url')).html('<i class="fas fa-external-link-alt"></i>' + $self.find(':selected').text());
$vize_islem.hide();
$vize_bilgi.hide();
$.get('vize/vizeislem/' + $self.val(), function(result) {
$vize_islem.find('option').remove();
$vize_islem.append('<option value="">Seçiniz</option>');
if (result.length > 0) {
$vize_islem.show('slow');
for (let key in result) {
let kategori = result[key];
$vize_islem.append('<option value="' + kategori.id + '" data-url="' + kategori.url + '">' + kategori.title + '</option>');
}
}
}, 'json');
});