2532 Stimmen

Deaktivieren/Aktivieren einer Eingabe mit jQuery?

$input.disabled = true;

o

$input.disabled = "disabled";

Welches ist die Standardmethode? Und umgekehrt, wie aktiviert man einen deaktivierten Eingang?

8 Stimmen

3 Stimmen

Ich fand die Abhängig von Plugin, das für Sie nützlich sein könnte

12voto

Abdus Salam Azad Punkte 4050

So verwenden,

 $( "#id" ).prop( "disabled", true );

 $( "#id" ).prop( "disabled", false );

9voto

daVe Punkte 899

Wenn Sie nur den aktuellen Zustand umkehren wollen (wie bei einer Umschalttaste):

$("input").prop('disabled', ! $("input").prop('disabled') );

2 Stimmen

Dank habe ich eine gleiche Sache für die Umschaltung ist es; $("input").prop('disabled', function(i, v) { return !v; });

9voto

Nicu Surdu Punkte 7743

Sie können dies an einer globalen Stelle in Ihrem Code einfügen:

$.prototype.enable = function () {
    $.each(this, function (index, el) {
        $(el).removeAttr('disabled');
    });
}

$.prototype.disable = function () {
    $.each(this, function (index, el) {
        $(el).attr('disabled', 'disabled');
    });
}

Und dann kannst du Sachen schreiben wie:

$(".myInputs").enable();
$("#otherInput").disable();

2 Stimmen

@TrueBlueAussie Was ist der Nachteil der Verwendung von attr ? Ich verwende den obigen Code in einigen Projekten und soweit ich mich erinnere, funktioniert er gut

2 Stimmen

Die offensichtlichen Ausnahmen sind Steuerelemente mit Eigenschaften hinter den Kulissen. Die bekannteste ist die checked Eigenschaft von Kontrollkästchen. Verwendung von attr führt nicht zu demselben Ergebnis.

4 Stimmen

Auch wenn es praktisch ist, die Funktionalität zu verpacken, sollten Sie die prop y no attr mit dem disabled Eigenschaft, damit es richtig funktioniert (vorausgesetzt, jQuery 1.6 oder höher).

3voto

Siddhartha Punkte 121

Das funktioniert bei mir

$("#values:input").attr("disabled",true);
$("#values:input").attr("disabled",false);

2voto

mukhtar alam Punkte 156

Eine alternative Möglichkeit, das Eingabefeld zu deaktivieren, ist die Verwendung von jQuery und css wie folgt:

jQuery("#inputFieldId").css({"pointer-events":"none"})

und um die gleiche Eingabe zu ermöglichen, lautet der Code wie folgt:

jQuery("#inputFieldId").css({"pointer-events":""})

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X