combobox repetindo registros
Boa tarde pessoal,
eu criei uma página da qual tenho diversos checkbox para marcar, se tiver alguma caixinha marcada eu habilito um botão para fazer o envio ao servidor, porém, está acontecendo um problema que não consegui identificar, o que está acontecendo é o seguinte:
Quando eu marco um checkbox apenas, o botão é liberado, eu clico nele e aparece um modal para preencher os dados, e nesse modal tem um combobox com opções criadas em javascript, como tem somente uma caixinha marcada as informações no combobox aparecem perfeitamente, porém, se eu marco 2 checkbox ou mais as opções do combobox se repetem, como se eu tivesse fazendo isso dentro de um looping, o que não é verdade, eis o codigo abaixo:
<code>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<input id="check-belongings" class="custom-control-input check-belongings" name="" type="checkbox" value="">
<label for="" class="custom-control-label"></label>
<div class="col-12">
<div class="md-form mt-0 mb-0 pt-0 pb-0">
<label for="reason">Motivo</label><br><br>
<select class="form-control md-select2" style="width: 100%; text-transform: uppercase"
id="reason_all_belongings" name="reason_all_belongings" required>
</select>
</div>
</div>
<script>
$('.check-belongings').click(function () {
let belongingsIds = [];
let listaMarcados;
let optionsReason = [];
let option = null;
let movementsSelect = document.getElementById("reason_all_belongings");
optionsReason = ['Conferencia', 'Desobstrução', 'Entrega ao Cliente/Propr',' Inspeção', 'Manobra', 'Venda' ];
optionsReason.forEach((reason) => {
option = new Option(reason, reason.toLowerCase());
movementsSelect.options[movementsSelect.options.length] = option;
});
listaMarcados = document.getElementsByClassName("check-belongings");
for (let loop = 0; loop < listaMarcados.length; loop++) {
var item = listaMarcados[loop];
if (item.type == "checkbox" && item.checked) {
$('.drop-all-belongings').removeAttr('disabled');
belongingsIds.push(item.value);
} else {
// $('.drop-all-belongings').attr('disabled', 'disabled');
}
}
});
</script>
</body>
</html>
</code>Discussão (1)
Carregando comentários...