13 Stimmen

JQuery deaktiviert alle Schaltflächen einer CSS-Klasse

Ich habe n Knöpfe. Dieser Knopf hat den gleichen Namen: setAlg.

Ich möchte alle Knöpfe deaktivieren, die diesen Namen haben.

Ich habe versucht

$("input[name='setAlg']").attr("disabled",true);

aber es funktioniert nicht.

Wie kann ich das machen?

Vielen Dank.

0 Stimmen

Hast du ein Beispiel Markup? Was du hast, sollte für -Elemente funktionieren.

25voto

Sarfraz Punkte 366217

Stellen Sie sicher, dass Sie Ihren Code im bereiten Handler einwickeln:

$(function(){
  $("input[name='setAlg']").attr("disabled", true);
});

Aber wenn Sie dieselbe Klasse für diese Eingabefelder verwenden (wie in Ihrer Fragestellung), müssen Sie stattdessen Folgendes ausprobieren:

$(function(){
  $("input.myclass").attr("disabled", true);
});

Wo myclass der Klassenname sein soll, der für diese Eingabefelder verwendet wird.

0 Stimmen

Die zweite Möglichkeit ist besser

7voto

mkoistinen Punkte 7534

Chris Pebbles Vorschlag sollte gut funktionieren, aber ich bin verwirrt. In der Überschrift Ihrer Frage steht ausdrücklich "jQuery deaktiviert alle Schaltflächen einer CSS-Klasse", aber dann geben Sie ein Beispiel, das zeigt, dass Sie wirklich alle Schaltflächen deaktivieren möchten, die ein Name-Attribut von setAlg haben.

Zwei Punkte fallen mir ein. Erstens könnten Ihre Schaltflächen aufgrund des gleichen Namens unerwartete Ergebnisse liefern, wenn der Benutzer Ihr Formular abschickt (wenn dies der Fall ist, aber ich liege hier möglicherweise falsch). In diesem Fall möchten Sie wahrscheinlich wirklich alle auf dieselbe Klasse und nicht Name setzen.

...

Zweitens, wenn Sie möchten, dass Ihr jQuery mit einer Klasse funktioniert, müssen Sie Folgendes tun:

$("input.setAlg").attr("disabled","disabled");

Ich hoffe, das war hilfreich.

1voto

Shervin Asgari Punkte 22891

Ich glaube, du hast die Anführungszeichen vergessen

$("input[name='setAlg']").attr('disabled','true');

Wenn das nicht funktioniert, dann klappt vielleicht deine Auswahl nicht

0 Stimmen

wahr sollte keine Anführungszeichen haben :)

1 Stimmen

Wenn er ein XHTML-Doctype verwendet, wird die Verwendung des Strings 'disabled' empfohlen.

0 Stimmen

@Shervin - Das liegt daran, dass JavaScript eine schwache Typisierung hat und jeder nicht-leere String äquivalent zu true ist, "kdhfaisfbaudbvuiasdnvs" funktioniert auch, das bedeutet aber nicht, dass es der korrekteste Weg ist :)

1voto

Sampath Punkte 57490

Sie können eine Schaltfläche deaktivieren, indem Sie die unten genannten Schritte ausführen.

Sagen wir, Ihr Klassenname der Schaltfläche lautet = setAlg

Schritt 1:

Verwendung des Jquery attr-Attributs :

$('.setAlg').attr('disabled', 'disabled');

Schritt 2:

Verwendung des Jquery addClass CSS-Klasse :

$('.setAlg').addClass('disabled');

Schritt 3 :

Dann durch Deklarieren der CSS-Style-Klasse :

        .disabled
        {
            background: none repeat scroll 0 0 burlyWood;
            cursor: default !important;
        }

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