#javascript #jquery #select #bootstrap-4 #jquery-select2
Вопрос:
Я пытаюсь решить ошибку, в которой мои ошибки выбора связаны с классом select2.
Вот несколько фотографий, которые показывают, что происходит:
Обратите внимание, что показанные варианты совершенно разные.
вот части моего кода, которые могут быть полезны:
Это HTML — код моего элемента:
<div class="col">
<h4>Território a ser retirado</h4>
<div class="d-flex flex-row">
<select class="select2">
<option value="0">Selecione um território</option>
</select>
<button id="RetirarExecutivoTerritorio" class="btn color-btn-femsa btn-rounded btn-danger"
title="Retirar"><i class="fa fa-times-circle fw"></i>
@* Retirar *@
</button>
</div>
</div>
В этой части я делаю свои варианты:
response.Territorios.forEach((elem) => {
if (elem.CmpExecutivoResponsavel != null) {
territoriosComExecutivo = `<option idExecutivo="${elem.CmpExecutivoResponsavel}" value="${elem.CmpCoTerritorio}">${elem.CmpNoTerritorio}</option>`;
} else {
territoriosSemExecutivo = `<option value="${elem.CmpCoTerritorio}">${elem.CmpNoTerritorio}</option>`;
}
});
Здесь я заполняю свой выбор этими опциями:
('#TerritorioRetirar').append(territoriosComExecutivo);
И, наконец, здесь, где я делаю этот фильтр:
async HandleExcutivoTerritorioSelecionado() {
$('#EmailExecutivoTerritorioRetirar').change(() => {
let id_executivo = $('#EmailExecutivoTerritorioRetirar').val();
// coloca sempre na opção neutra selecionada
$('#TerritorioRetirar').val('0').change();
if (id_executivo == '0') {
$('#TerritorioRetirar').val('0').change();
} else {
// percorre todos os options do select, para filtrar apenas os territórios responsáveis
// para aquele executivo selecionado.
$('#TerritorioRetirar > option').each(function () {
let id_territorio = $(this).attr('idExecutivo');
if (id_territorio == id_executivo) {
$(this).show();
} else if (id_territorio != id_executivo amp;amp; id_territorio != undefined) {
$(this).hide();
}
});
}
});
}
Заранее благодарю вас за вашу помощь
Комментарии:
1. Пожалуйста, не могли бы вы показать свой код в текстовом формате вместо фотографий, это действительно помогло бы нам быстро обнаружить проблему.
2. Привет. Создайте фрагмент, воспроизводящий вашу проблему, и я посмотрю 🙂