#javascript #html #jquery #select #dropdown
#javascript #HTML #jquery #выберите #выпадающий
Вопрос:
У меня есть этот код
function OnSelectedIndexChange() {
if (stsNikahWp == "2") {
document.getElementById("kdNegaraSuami").options.length = 0;
$("#kdNegaraSuami").attr("disabled", true);
} else if (stsNikahWp == "1") {
$('#kdNegaraSuami').removeAttr('disabled');
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
<div class="form-group mb-0">
<label for="" class="mb-0 blue-dark-text">Status Pernikahan <font color="red">*</font></label>
<div class="input-group border-bottom">
<select class="form-control" id="stsNikahWp" onChange="OnSelectedIndexChange()">
<option></option>
<option value="1">Kawin</option>
<option value="2">Tidak Kawin</option>
</select>
</div>
</div>
<div class="form-group mb-0">
<label for="" class="mb-0 blue-dark-text">Kewarganegaraan Suami</label>
<div class="input-group border-bottom">
<select disabled class="form-control" id="kdNegaraSuami" style="border:0px;" onChange="OnSelectedIndexChange()"></select>
</div>
</div>
это «kdNegaraSuami» отключится, когда я выберу значение 1 в раскрывающемся списке «stsNikahWp». но, когда я выбираю значение 2, выпадающее значение «kdNegaraSuami» снова станет отключенным.
значение в раскрывающемся списке «kdNegaraSuami» получено из базы данных.
сначала я выбираю значение 1 в выпадающем списке «stsNikahWp». затем я выбираю значение в раскрывающемся списке «kdNegaraSuami». затем я пытаюсь выбрать значение 2 в раскрывающемся списке «stsNikahWp». значение в выпадающем списке «kdNegaraSuami» исчезло, и оно снова стало недоступным. Я выбираю значение 1 в выпадающем списке «stsNikahWp», вывод «kdNegaraSuami» возможен, но все значения в выпадающем списке исчезли. пожалуйста, помогите мне. Извините за плохой английский.
Комментарии:
1. Heing W Ваш код говорит именно то, что вы описываете. Но, пожалуйста, укажите, что вы хотите, чтобы мы могли помочь. например, в каких условиях вы хотите, чтобы оно было отключено, а когда нет?
2. Вам нужно
if (stsNikahWp.value == "2")
вместо этого;stsNikahWp
это<select>
сам элемент.3. Привет, у вас есть use
document.getElementById("kdNegaraSuami").options.length = 0;
, который удалит параметры из второго выпадающего списка..
Ответ №1:
Вы могли бы оставить <option>
элементы на месте и установить значение пустой опции
Я изменил html для передачи this.value
из onChange
function OnSelectedIndexChange(value) {
if (value == "2") {
$("#kdNegaraSuami").val('').attr("disabled", true);
} else {
$('#kdNegaraSuami').removeAttr('disabled');
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet" />
<div class="form-group mb-0">
<label for="" class="mb-0 blue-dark-text">Status Pernikahan <font color="red">*</font></label>
<div class="input-group border-bottom">
<select class="form-control" id="stsNikahWp" onChange="OnSelectedIndexChange(this.value)">
<option></option>
<option value="1">Kawin</option>
<option value="2">Tidak Kawin</option>
</select>
</div>
</div>
<div class="form-group mb-0">
<label for="" class="mb-0 blue-dark-text">Kewarganegaraan Suami</label>
<div class="input-group border-bottom">
<select disabled class="form-control" id="kdNegaraSuami" style="border:0px;" onChange="OnSelectedIndexChange()">
<option value=""></option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
</div>
</div>