Finden Sie heraus, ob ein Textfeld deaktiviert ist oder ob Sie jquery nicht verwenden

91

Ich muss herausfinden, ob ein Textfeld mit Jquery deaktiviert oder aktiviert ist.

Vaibhav Jain
quelle

Antworten:

147

.prop('disabled') gibt einen Booleschen Wert zurück:

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

Hier ist die Geige: http://jsfiddle.net/unhjM/

Joseph Silber
quelle
Aus irgendeinem Grund funktioniert dies bei meiner Anwendung nicht, obwohl es in der Geige perfekt funktioniert. Wenn ich es starte, sagt Firebug, dass .prop keine Funktion ist! Hat es etwas mit der Version von jquery zu tun? Wie auch immer, .is (': disabled') scheint gut zu funktionieren. Vielen Dank. Vielen Dank.
Mohammed Joraid
2
@MohammedJoraid - .prop()wurde in jQuery 1.6 eingeführt (siehe Dokumentation). Wenn Sie eine frühere Version von jQuery verwenden, verwenden Sie .attr()stattdessen.
Joseph Silber
@ChamanSaini du bist irreführend. Das Format $ ('Eingabe') soll eine Eingabe "Steuerelement vom Typ" auswählen, während $ ('# Eingabe') ein Element unabhängig vom Typ mit der ID "Eingabe" abgleichen wird.
Tomerz
67

Sie können feststellen, ob das Textfeld mithilfe der isMethode deaktiviert ist, indem Sie den :disabledSelektor an das Textfeld übergeben . Versuche dies.

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

Sie können damit überprüfen, ob ein Element deaktiviert ist oder nicht:

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

quelle
Beim booleschen Vergleich müssen Sie nicht gegen trueoder testen false. Einfach verwenden if (expr)oder if (! expr).
Faintsignal
Sie haben Recht, wenn ($ ("# slcCausaRechazo"). Prop ('disabled')) {// Ihr Code zu realisieren, wenn deaktiviert ist}
2
 if($("element_selector").attr('disabled') || $("element_selector").prop('disabled'))
 {

    // code when element is disabled

  }
Rajat Bansal
quelle