disabled对于所有的表单元素都有效,包括select,radio, checkbox, button等。
但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去
var fall = $('#XXX');
// 下面三种方法的结果都是 disabled= 'disabled'
fall.attr("disabled", true);
fall.attr("disabled", "disabled");
fall.attr("disabled", "");
// !!!! 下面两种方法会移除disable属性,但是控件依然不可用。
// IE9以上鼠标划过后可用。IE8始终不可用
fall.attr("disabled", false);
fall.removeAttr("disabled");
// 下面三种方法可以正常移除disable属性
fall.prop("disabled", false);
fall.prop("disabled", "");
fall.removeProp('disabled');
// 参数除了false和""外的任何值,都会置 disabled= 'disabled'
fall.prop("disabled", true);
// 或者使用DOM方法移除disable
fall[0].disabled = false;
fall[0].disabled = "";
总结:JQuery版本过低时,removeAttr("disabled") 会不起作用。此时,可以使用prop方法或者原生DOM方法来实现相关功能