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方法來實現相關功能