Sprawdź, czy pole tekstowe jest wyłączone, czy nie za pomocą jQuery

93

Muszę sprawdzić, czy pole tekstowe jest wyłączone lub włączone za pomocą Jquery.

Vaibhav Jain
źródło

Odpowiedzi:

152

.prop('disabled') zwróci wartość logiczną:

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

Oto skrzypce: http://jsfiddle.net/unhjM/

Joseph Silber
źródło
Z jakiegoś powodu nie działa to na mojej aplikacji, mimo że na skrzypcach działa idealnie. Kiedy go uruchamiam, firebug mówi, że .prop nie jest funkcją! Czy jest to coś związanego z wersją jquery? W każdym razie .is (': disabled') wydaje się działać dobrze. Dzięki. Dzięki.
Mohammed Joraid,
2
@MohammedJoraid - .prop()został wprowadzony w jQuery 1.6 (zobacz dokumentację). Jeśli używasz wcześniejszej wersji jQuery, użyj .attr()zamiast tego.
Joseph Silber,
@ChamanSaini wprowadzasz w błąd. Format $ ('input') ma na celu wybranie wejścia "kontroli typu", podczas gdy $ ('# input') dopasuje element o id "input" niezależnie od jego typu.
Tomerz
68

Możesz sprawdzić, czy pole tekstowe jest wyłączone za pomocą ismetody, przekazując :disableddo niego selektor. Spróbuj tego.

if($('textbox').is(':disabled')){
     //textbox is disabled
}
ShankarSangoli
źródło
4

Możesz sprawdzić, czy element jest wyłączony, czy nie za pomocą tego:

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

źródło
W przypadku porównania logicznego nie ma potrzeby testowania względem truelub false. Wystarczy użyć odpowiednio if (expr)lub if (! expr).
faintsignal
Masz rację, jeśli ($ ("# slcCausaRechazo"). Prop ('disabled')) {// Twój kod do rzeczywistości, jeśli jest wyłączony}
2
 if($("element_selector").attr('disabled') || $("element_selector").prop('disabled'))
 {

    // code when element is disabled

  }
Rajat Bansal
źródło