1
У меня есть этот HTML структуру:добавляющим Опциональные элементы в Select Ошибка
<div class="row">
<div class="col-sm-6 p-l-0">
<div class="form-group form-group-default form-group-default-select2 required">
<select disabled class="kurir">
<option select="selected"></option>
</select>
</div>
</div>
<div class="col-sm-6">
<div class="form-group form-group-default form-group-default-select2 required">
<select disabled class="tarif">
<option select="selected"></option>
</select>
</div>
</div>
</div>
и вот мой JavaScript:
$(".kurir").change(function() {
var json_url = "some url here";
$.getJSON(json_url, function(data) {
var tarif_items = "";
$.each(data, function(key, val) {
tarif_items += "<option value='" + key + "'>" + val + "</option>";
alert (key); // I can see the key value
alert (val); // I can see the val value
});
});
$(this).closest(".row").find(".tarif").css("background-color", "red"); // I can see there's background color
$(this).closest(".row").find(".tarif").prop("disabled", false); // I can see the select is active now
$(this).closest(".row").find(".tarif").append(tarif_items); // but I don't see this works, why?
});
почему tarif_items
не может быть добавлен в элемент выбора?
Положите 'var tarif_items = "";' объявление за пределами $ .getJSON funciton – KiiroSora09
, потому что '$ .getJSON' является асинхронным, поэтому ваш код для добавления tarif_items запускается до завершения кода' $ .getJSON'. Поместите последние три строки вашего кода в вызов '$ .getJSON'. – Craicerjack