Я от никак не эксперт jQuery, так что, возможно, есть лучший способ сделать это.Но я написал простую функцию (я считаю, что это действительно очень простой плагин jQuery), такой как:
jQuery.fn.disabled = function (tf) {
$('input,textarea,checkbox,select',this).attr('disabled',tf);
if ( tf)
this.addClass('disabled');
else
this.removeClass('disabled');
return tf;
}
Затем вы можете вызвать $ ('# select2'). Disabled (false), когда select1выбран.Т.е.:
$(document).ready(function(){
$('#select1').change(function(){
$('#select2').disabled( $(this).val() == '' );
});
$('#select2').change(function(){
$('#select3').disabled( $(this).val() == '' );
});
})
Преимущество функции .disabled () двоякое: 1) она отключает и отключает отключение, основываясь на переданном ей логическом значении, поэтомуВам не нужно дублировать «это должно быть включено или отключено?»логика везде.2) Он также «затеняет» текст, поэтому, если вы хотите обернуть его в некоторый или описательный текст, вы можете вызвать функцию для элемента обтекания, и текст будет выделен серым цветом, наряду с отключением выбора (илилюбые другие элементы ввода).
Чтобы заштрихованный текст работал правильно, вам также необходим класс «отключен» в вашем CSS.У меня все просто:
.disabled {
color: #808080;
}
Вы можете захотеть что-то другое, чтобы соответствовать вашей теме.