Descubra se uma caixa de texto está desabilitada ou não usando jquery


91

Preciso descobrir se uma caixa de texto está desabilitada ou habilitada usando Jquery.

Respostas:


150

.prop('disabled') retornará um booleano:

var isDisabled = $('textbox').prop('disabled');

Aqui está o violino: http://jsfiddle.net/unhjM/


Por algum motivo, isso não funciona em meu aplicativo, embora no violino funcione perfeitamente. Quando eu o executo, o firebug diz .prop não é uma função! É algo relacionado à versão do jquery? De qualquer forma, .is (': disabled') parece funcionar bem. Obrigado. Obrigado.
Mohammed Joraid

2
@MohammedJoraid - .prop()foi introduzido no jQuery 1.6 (veja a documentação). Se você estiver usando uma versão anterior do jQuery, use .attr().
Joseph Silber

@ChamanSaini você está enganando. O formato $ ('input') se destina a selecionar uma entrada de "controle do tipo", enquanto $ ('# input') irá corresponder a um elemento com o id "input" independentemente do seu tipo.
Tomerz

68

Você pode descobrir se a caixa de texto está desabilitada usando o ismétodo passando o :disabledseletor para ela. Experimente isso.

if($('textbox').is(':disabled')){
     //textbox is disabled
}


4

Você pode verificar se um elemento está desativado ou não com isto:

if($("#slcCausaRechazo").prop('disabled') == false)
{
//your code to realice 
}

Com a comparação booleana, não há necessidade de testar contra trueou false. Basta usar if (expr)ou if (! expr), respectivamente.
faintsignal

Você está certo if ($ ("# slcCausaRechazo"). Prop ('disabled')) {// seu código para perceber se estiver desativado}

2
 if($("element_selector").attr('disabled') || $("element_selector").prop('disabled'))
 {

    // code when element is disabled

  }
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.