jQuery Mobile wie überprüfe ich, ob die Schaltfläche deaktiviert ist?

Lesezeit: 2 Minuten

Benutzer-Avatar
RickardP

Ich deaktiviere die Schaltfläche wie folgt auf meiner jQuery Mobile-Webseite:

$(document).ready(function() {
    $("#deliveryNext").button();
    $("#deliveryNext").button('disable');
});

und ich kann es mit aktivieren

$("#deliveryNext").button('enable');

Aber wie überprüfe ich, ob die Schaltfläche deaktiviert oder aktiviert ist?

Dieser Befehl gibt “undefiniert”:

$("#deliveryNext").attr('disabled')

Einige Ideen?

Bearbeiten: Ich finde heraus, dass $(“#deliveryNext”).button(‘disable’) nur dazu dient, den Stil auf der Schaltfläche zu ändern, das Klicken funktioniert danach einwandfrei, also muss ich die Schaltfläche irgendwie auch deaktivieren. attr(‘disabled’, ‘disabled’), aber wenn ich dann .attr(‘disabled’) teste, bekomme ich undefiniert…

Edit2: mehr zu meinem “echten” Problem unter Wie deaktiviere ich eine Link-Schaltfläche in jQuery Mobile?

Versuchen :is Wähler

$("#deliveryNext").is(":disabled")

  • Verwenden Sie stattdessen “.prop(‘disabled’)”.

    – tponthieux

    2. Juni 2014 um 22:20 Uhr

  • @tponthieux Könnten Sie das näher erläutern?

    – BartoszKP

    6. Februar 2017 um 15:04 Uhr

Verwenden Sie stattdessen .prop:

$('#deliveryNext').prop('disabled')

  • das gibt mir das gleiche Ergebnis, wenn ich das in Firebug schreibe: console.log($(‘#deliveryNext’).prop(‘disabled’)) ich bekomme “undefiniert”

    – RickardP

    22. Juni 2011 um 8:51 Uhr


  • Funktioniert bei mir in FireFox.

    – tponthieux

    2. Juni 2014 um 22:21 Uhr

  • Wenn Sie Bootstrap verwenden, benötigen Sie möglicherweise auch hasClass(“disabled”) für Tag A.

    – Imschädel

    30. September 2014 um 9:43 Uhr

Mit dem gleichen Problem konfrontiert, wenn versucht wird zu überprüfen, ob eine Schaltfläche deaktiviert ist. Ich habe verschiedene Ansätze ausprobiert, z btn.disabled, .is(':disabled'), .attr('disabled'), .prop('disabled'). Aber niemand arbeitet für mich.

Einige zum Beispiel .disabled oder .is(':disabled') ist zurückgekommen undefined und ähnliches .attr('disabled') gab das falsche Ergebnis zurück – false wenn die Schaltfläche tatsächlich deaktiviert war.

Aber nur eine Technik funktioniert bei mir: .is('[disabled]') (mit eckigen Klammern).

Um festzustellen, ob eine Schaltfläche deaktiviert ist, versuchen Sie Folgendes:

$("#myButton").is('[disabled]');

Benutzer-Avatar
Lanccoder

Versuchen

$("#deliveryNext").is(":disabled")

Folgender Code funktioniert bei mir:

<script type="text/javascript">
    $(document).ready(function () {
        $("#testButton").button();
        $("#testButton").button('disable');
        alert($('#testButton').is(':disabled'));
    });
</script>
<p>
    <button id="testButton">Testing</button>
</p>

Benutzer-Avatar
Mina Gabriel

Ich hatte das gleiche Problem und ich fand, dass dies funktioniert:

if ($("#deliveryNext").attr('disabled')) {
  // do sth if disabled
} else {
  // do sth if enabled 
}

Wenn Sie dadurch undefiniert erhalten, können Sie verwenden if Zustand auch.

Wenn Sie bewerten undefined es wird zurückkehren false.

Benutzer-Avatar
Kaido

Versuchen

$("#deliveryNext").is('[disabled]');

Benutzer-Avatar
jackkorbin

http://jsfiddle.net/8gfYZ/11/
Überprüfe hier..

$(function(){

    $('#check').click(function(){
        if( $('#myButton').prop('disabled') ) { 
            alert('disabled'); 
            $('#myButton').prop('disabled',false);
        } 
        else {
            alert('enabled');
            $('#myButton').prop('disabled',true);
        }
    });
});

1038540cookie-checkjQuery Mobile wie überprüfe ich, ob die Schaltfläche deaktiviert ist?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy