Reputation: 1
I have this code
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>
this "kdNegaraSuami" drowpdown will able when I select value 1 in "stsNikahWp" dropdown. but, when I select value 2, the "kdNegaraSuami" drowpdown will become disable again. the value in "kdNegaraSuami" drowpdown got from database.
first, I select value 1 in "stsNikahWp" dropdown. then I select value in "kdNegaraSuami" drowpdown. then I try to select value 2 in "stsNikahWp" dropdown. the value in "kdNegaraSuami" drowpdown is gone and it become disable again. I select value 1 in "stsNikahWp" dropdown, the "kdNegaraSuami" drowpdown is able but all the value in dropdown is gone. please help me. Sorry for bad english.
Upvotes: 0
Views: 911
Reputation: 171690
You could leave the <option>
elements in place and set value to empty option
I modified html to pass in this.value
from the 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>
Upvotes: 2