我需要根据下拉列表中的选定值禁用或启用文本框。这是我正在使用的代码。
$(document).ready(function() {
if ($('#fragmentation').val() == 'NONE') { // if fragmentation is none
alert("inside document ready");
$('#fragmentSize').attr('disabled','disabled');
}
$('#fragmentation').change(function() {
if ($(this).val() != 'NONE') {
$('#fragmentSize').removeAttr('disabled');
} else {
$('#fragmentSize').val('');
$('#fragmentSize').attr('disabled', 'disabled');
}
});
该代码在除 IE 之外的所有浏览器中都能正常工作。我希望它适用于 IE8 及更高版本,但现在即使 IE9 也无法运行它。我放在那里的警告框出现了,因此代码在 IE 中到达那里,控制台或其他任何东西都没有错误。
我什至尝试使用这些:
$('#fragmentSize').prop('disabled','disabled');
$('#fragmentSize').prop('disabled',false);
$('#fragmentSize').prop('disabled','false');
$('#fragmentSize').attr('disabled',false);
$('#fragmentSize').attr('disabled','false');
所有这些都可以在其他浏览器中使用,但 IE 不会让步。
编辑:我不知道这是我的无知还是渲染禁用字段的可怕方式。最终的结论是它运行得非常好,只是我没有意识到 IE 中的禁用字段看起来就像一个普通字段。我已经习惯了在 Firefox 和 chrome 中查看禁用的字段,以至于我无法在 IE 中识别它。无论如何,根本没有问题,所以我不知道我应该保留这个问题还是删除它。对不起,浪费你们的时间了伙计们。