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

2voto

SPARTAN Punkte 104

Sie können die Methode jQuery prop() verwenden, um ein Formularelement oder ein Steuerelement dynamisch mit jQuery zu deaktivieren oder zu aktivieren. Für die prop()-Methode ist jQuery 1.6 und höher erforderlich.

Ejemplo:

<script type="text/javascript">
        $(document).ready(function(){
            $('form input[type="submit"]').prop("disabled", true);
            $(".agree").click(function(){
                if($(this).prop("checked") == true){
                    $('form input[type="submit"]').prop("disabled", false);
                }
                else if($(this).prop("checked") == false){
                    $('form input[type="submit"]').prop("disabled", true);
                }
            });
        });
    </script>

2voto

Pawel Punkte 12592

Update für 2018:

Jetzt gibt es keine Notwendigkeit für jQuery und es ist eine Weile her, seit document.querySelector ou document.querySelectorAll (für mehrere Elemente) erledigen fast genau dieselbe Aufgabe wie $, plus weitere explizite getElementById , getElementsByClassName , getElementsByTagName

Deaktivierung eines Feldes der Klasse "input-checkbox".

document.querySelector('.input-checkbox').disabled = true;

oder mehrere Elemente

document.querySelectorAll('.input-checkbox').forEach(el => el.disabled = true);

2 Stimmen

Die Frage bezieht sich speziell auf jQuery...aber auch Ihre Aussage ist richtig und wissenswert, dass jQuery nicht brauchen zu verwenden, wenn es mehrere Elemente gibt.

1voto

Deaktivieren Sie true für den Eingabetyp :

Im Falle eines bestimmten Eingabetyps ( Ex. Eingabe der Textart )

$("input[type=text]").attr('disabled', true);

Für alle Arten von Eingabearten

$("input").attr('disabled', true);

1 Stimmen

Danke, das hat mir geholfen, einen Eingabenamen zu isolieren. $("input[name=method]").prop('disabled', true);

1voto

Tomer Ben David Punkte 7227

Deaktivieren:

$('input').attr('readonly', true); // Disable it.
$('input').addClass('text-muted'); // Gray it out with bootstrap.

Aktivieren:

$('input').attr('readonly', false); // Enable it.
$('input').removeClass('text-muted'); // Back to normal color with bootstrap.

0voto

rap-2-h Punkte 26507

2018, ohne JQuery (ES6)

Alle deaktivieren input :

[...document.querySelectorAll('input')].map(e => e.disabled = true);

Deaktivieren Sie input con id="my-input"

document.getElementById('my-input').disabled = true;

Die Frage lautet mit JQuery, nur zu Ihrer Information.

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