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.

Vaibhav Jain
fonte

Respostas:

150

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

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

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

Joseph Silber
fonte
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
}
ShankarSangoli
fonte
4

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

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

fonte
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

  }
Rajat Bansal
fonte