pflichtfeld - radio button html




So erstellen Sie ein HTML-Kontrollkästchen mit einem anklickbaren Label (7)

Methode 1: Etikettenmarke umhüllen

Umbrechen Sie das Kontrollkästchen innerhalb eines label Tags:

<label><input type="checkbox" name="checkbox" value="value">Text</label>

Methode 2: Verwenden Sie das for Attribut

Verwenden Sie das Attribut for (passen Sie die Checkbox- id ):

<input type="checkbox" name="checkbox" id="checkbox_id" value="value">
<label for="checkbox_id">Text</label>

HINWEIS : ID muss auf der Seite eindeutig sein!

Erläuterung

Da die anderen Antworten dies nicht erwähnen, kann ein Label bis zu 1 Input enthalten und das for Attribut weglassen, und es wird angenommen, dass es für den Input darin ist.

Auszug aus w3.org (mit meiner Betonung):

[Das for-Attribut] weist das definierte Label explizit einem anderen Steuerelement zu. Wenn vorhanden, muss der Wert dieses Attributs dem Wert des ID-Attributs eines anderen Steuerelements im selben Dokument entsprechen. Wenn es nicht vorhanden ist, wird das Etikett, das definiert wird, mit dem Inhalt des Elements verknüpft.

Um ein Label implizit einem anderen Steuerelement zuzuordnen, muss das Steuerelement innerhalb des Inhalts des LABEL-Elements sein . In diesem Fall darf das LABEL nur ein Steuerelement enthalten. Das Etikett selbst kann vor oder nach dem zugehörigen Steuerelement positioniert sein.

Diese Methode hat einige Vorteile gegenüber:

  • Keine Notwendigkeit, eine id zu jedem Kontrollkästchen zuzuweisen (großartig!).

  • Keine Notwendigkeit, das zusätzliche Attribut in <label> .

  • Der anklickbare Bereich der Eingabe ist auch der anklickbare Bereich der Beschriftung. Es gibt also nicht zwei separate Bereiche, auf die geklickt werden kann, sondern nur eine, unabhängig davon, wie weit der <input> und der tatsächliche Beschriftungstext entfernt sind und egal welcher Art von CSS, das Sie anwenden.

Demo mit etwas CSS:

label {
 border:1px solid #ccc;
 padding:10px;
 margin:0 0 10px;
 display:block; 
}

label:hover {
 background:#eee;
 cursor:pointer;
}
<label><input type="checkbox" />Option 1</label>
<label><input type="checkbox" />Option 2</label>
<label><input type="checkbox" />Option 3</label>

Wie kann ich ein HTML-Kontrollkästchen mit einem Label erstellen, das anklickbar ist (das bedeutet, dass beim Klicken auf das Label das Kontrollkästchen aktiviert / deaktiviert wird)?


Benutze das

<input type="checkbox" name="checkbox" id="checkbox_id" value="value">
<label for="checkbox_id" id="checkbox_lbl">Text</label>


$("#checkbox_lbl").click(function(){ 
    if($("#checkbox_id").is(':checked'))
        $("#checkbox_id").removAttr('checked');
    else
       $("#checkbox_id").attr('checked');
    });
});

Es funktioniert auch:

<form>
    <label for="male"><input type="checkbox" name="male" id="male" />Male</label><br />
    <label for="female"><input type="checkbox" name="female" id="female" />Female</label>
</form>

Sie können auch CSS-Pseudo-Elemente verwenden, um Ihre Beschriftungen aus allen Wertattributen Ihrer Checkbox auszuwählen bzw. anzuzeigen.
Bearbeiten: Dies funktioniert nur mit Webkit und blink-basierten Browsern (Chrome (ium), Safari, Opera ....) und damit den meisten mobilen Browsern. Kein Firefox oder IE-Unterstützung hier.
Dies kann nur nützlich sein, wenn Sie webkit / blink in Ihre Apps einbetten.

<input type="checkbox" value="My checkbox label value" />
<style>
[type=checkbox]:after {
    content: attr(value);
    margin: -3px 15px;
    vertical-align: top;
    white-space:nowrap;
    display: inline-block;
}
</style>

Alle Pseudo-Elemente können anklickbar sein.

Demo: http://codepen.io/mrmoje/pen/oteLl , + Das Wesentliche davon


Verwenden Sie das Element label und das Attribut for , um es dem Kontrollkästchen zuzuordnen:

<label for="myCheckbox">Some checkbox</label> <input type="checkbox" id="myCheckbox" />


<label for="myInputID">myLabel</label><input type="checkbox" id="myInputID" name="myInputID />

<label for="vehicle">Type of Vehicle:</label>
<input type="checkbox" id="vehicle" name="vehicle" value="Bike" />




label