Атрибуты и свойства
По состоянию на jQuery 1,6 , .prop()
метод предоставляет способ явного получения значений свойств, в то время как .attr()
извлекает атрибуты.
Вы можете попробовать использовать .prop()
:
.prop('disabled', 'disabled');
Демо: (согласно обсуждению в комментарии)
$(document).ready(function() {
$("select[name=category]").on("change", function() {
if($(this).val() == "") {
$("select[name=subcategory]").prop('disabled', 'disabled');
$("select[name=ename]").prop('disabled', 'disabled');
} else {
$("select[name=subcategory]").removeAttr("disabled");
if($("select[name=subcategory]").val() == "") {
$("select[name=ename]").prop('disabled', 'disabled');
} else {
$("select[name=ename]").removeAttr("disabled");
}
}
}).trigger('change');
$("select[name=subcategory]").on("change", function() {
if($(this).val() == "") {
$("select[name=ename]").prop('disabled', 'disabled');
} else {
$("select[name=ename]").removeAttr("disabled");
}
}).trigger('change');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select name="category">
<option value="">Select</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<select name="subcategory">
<option value="">Select</option>
<option value="a">A</option>
<option value="b">B</option>
</select>
<select name="ename">
<option value="">Select</option>
<option value="1">1</option>
<option value="2">2</option>
</select>