4580 Stimmen

Einstellung "checked" für ein Kontrollkästchen mit jQuery

Ich würde gerne so etwas tun, um ein Häkchen bei checkbox mit jQuery :

$(".myCheckBox").checked(true);

o

$(".myCheckBox").selected(true);

Gibt es so etwas?

0 Stimmen

Eine spezifischere (und sehr nützliche!) Frage, "Wie überprüfe ich ein Element in einem Kontrollkästchen, das nach Wert gesetzt ist?", können wir auch hier diskutieren, und ich habe eine Antwort unten gepostet.

0 Stimmen

Weitere Möglichkeiten, dies mit jQuery zu tun, finden Sie hier stackoverflow.com/a/22019103/1868660

0 Stimmen

Wenn Sie das onchange-Ereignis auslösen müssen, ist es $("#mycheckbox").click();

28voto

Clement Ho Punkte 309

Wenn Sie Folgendes verwenden PhoneGap Wenn Sie eine Anwendung entwickeln und einen Wert auf der Schaltfläche haben, der sofort angezeigt werden soll, müssen Sie Folgendes tun

$('span.ui-[controlname]',$('[id]')).text("the value");

Ich habe festgestellt, dass die Schnittstelle ohne die Spanne nicht aktualisiert wird, egal was Sie tun.

27voto

tamilmani Punkte 563

Hier ist der Code und die Demo, wie man mehrere Kontrollkästchen ankreuzt...

http://jsfiddle.net/tamilmani/z8TTt/

$("#check").on("click", function () {

    var chk = document.getElementById('check').checked;
    var arr = document.getElementsByTagName("input");

    if (chk) {
        for (var i in arr) {
            if (arr[i].name == 'check') arr[i].checked = true;
        }
    } else {
        for (var i in arr) {
            if (arr[i].name == 'check') arr[i].checked = false;
        }
    }
});

0 Stimmen

-1; Mischen von jQuery-Selektoren wie $("#check") mit rohen DOM-API-Aufrufen wie document.getElementsByTagName("input") erscheint mir nicht sehr elegant, vor allem wenn man bedenkt, dass die for Schleifen könnten hier vermieden werden, indem man .prop() . Unabhängig davon ist dies eine weitere späte Antwort, die nichts Neues bringt.

23voto

Ardalan Shahgholi Punkte 10869

Wie @livefree75 sagte:

jQuery 1.5.x und niedriger

Sie können das $.fn-Objekt auch mit neuen Methoden erweitern:

(function($)  {
   $.fn.extend({
      check : function()  {
         return this.filter(":radio, :checkbox").attr("checked", true);
      },
      uncheck : function()  {
         return this.filter(":radio, :checkbox").removeAttr("checked");
      }
   });
}(jQuery));

Aber in neuen Versionen von jQuery, müssen wir etwas wie dieses verwenden:

jQuery 1.6+

    (function($)  {
       $.fn.extend({
          check : function()  {
             return this.filter(":radio, :checkbox").prop("checked", true);
          },
          uncheck : function()  {
             return this.filter(":radio, :checkbox").prop("checked",false);
          }
       });
    }(jQuery));

Dann können Sie es einfach tun:

    $(":checkbox").check();
    $(":checkbox").uncheck();

23voto

Muhammad Aamir Ali Punkte 19629

Eine andere mögliche Lösung:

    var c = $("#checkboxid");
    if (c.is(":checked")) {
         $('#checkboxid').prop('checked', false);
    } else {
         $('#checkboxid').prop('checked', true);
    }

20voto

logan Punkte 7373

Für jQuery 1.6+

$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);

Für jQuery 1.5.x und niedriger

$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);

Zur Kontrolle,

$('.myCheckbox').removeAttr('checked');

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