$input.disabled = true;
or
$input.disabled = "disabled";
哪一种是标准方式?相反,如何启用禁用的输入?
$input.disabled = true;
or
$input.disabled = "disabled";
哪一种是标准方式?相反,如何启用禁用的输入?
当前回答
只是为了新的惯例,并使其适应未来(除非ECMA6(????)发生了巨大变化):
$(document).on('event_name', '#your_id', function() {
$(this).removeAttr('disabled');
});
and
$(document).off('event_name', '#your_id', function() {
$(this).attr('disabled','disabled');
});
其他回答
// Disable #x
$( "#x" ).prop( "disabled", true );
// Enable #x
$( "#x" ).prop( "disabled", false );
有时您需要禁用/启用表单元素,如input或textarea。Jquery通过将disabled属性设置为“disabled”,帮助您轻松实现这一点。例如:
//To disable
$('.someElement').attr('disabled', 'disabled');
要启用禁用的元素,您需要从该元素中删除“disabled”属性或清空它的字符串。例如:
//To enable
$('.someElement').removeAttr('disabled');
// OR you can set attr to ""
$('.someElement').attr('disabled', '');
参考:http://garmoncheg.blogspot.fr/2011/07/how-to-disableenable-element-with.html
您可以使用jQuery prop()方法动态禁用或启用表单元素或控件。prop()方法需要jQuery1.6及更高版本。
例子:
<script type="text/javascript">
$(document).ready(function(){
$('form input[type="submit"]').prop("disabled", true);
$(".agree").click(function(){
if($(this).prop("checked") == true){
$('form input[type="submit"]').prop("disabled", false);
}
else if($(this).prop("checked") == false){
$('form input[type="submit"]').prop("disabled", true);
}
});
});
</script>
有许多方法可以使用它们来启用/禁用任何元素:
方法1
$("#txtName").attr("disabled", true);
方法2
$("#txtName").attr("disabled", "disabled");
如果使用jQuery 1.7或更高版本,请使用prop(),而不是attr()。
$("#txtName").prop("disabled", "disabled");
如果您希望启用任何元素,则只需执行与禁用该元素相反的操作即可。然而,jQuery提供了另一种删除任何属性的方法。
方法1
$("#txtName").attr("disabled", false);
方法2
$("#txtName").attr("disabled", "");
方法3
$("#txtName").removeAttr("disabled");
同样,如果使用jQuery 1.7或更高版本,请使用prop(),而不是attr()。这就是使用jQuery启用或禁用任何元素的方式。
$("input")[0].disabled = true;
or
$("input")[0].disabled = false;
禁用:
$('input').attr('readonly', true); // Disable it.
$('input').addClass('text-muted'); // Gray it out with bootstrap.
启用:
$('input').attr('readonly', false); // Enable it.
$('input').removeClass('text-muted'); // Back to normal color with bootstrap.