Montag, Januar 27, 2020

jQuery hinzufügen von leeren label-tags, die neben jeder radio-button oder checkbox

Brauche ich eine simple jQuery-code, fügen Sie einen leeren label-tag neben jedem radio-button oder checkbox

So zum Beispiel:

$('input[type="radio"]').next().add("<label for="radio"></label>");
$('input[type="checkbox"]').next().add("<label for="checkbox"></label>");

Wie kann ich dies erreichen?

Dank.

InformationsquelleAutor henryaaron | 2011-12-16

4 Kommentare

  1. 2
    $('input[type="radio"]').after("<label for='radio'></label>");
    $('input[type="checkbox"]').after("<label for='checkbox'></label>");
  2. 5

    Werden Sie verwenden möchten nach um dies zu erreichen. Auch, Sie wollen die for von Ihrem label zu sein, das id auf die es verweist.

    $('input[type="checkbox"]').each(function() {
         var cb = $(this);
         cb.after($("<label />")
                    .attr("for", cb.attr("id")) );
    });

    Sagte Sie, Sie wollte, dass die leeren Etiketten, aber nur im Fall, wenn Sie möchten, dass die Etiketten zur Anzeige der Wert des Kontrollkästchens Sie sind neben, sollte dies tun:

    $('input[type="checkbox"]').each(function() {
         var cb = $(this);
         cb.after($("<label />")
                    .attr("for", cb.attr("id"))
                    .text(cb.val()) );
    });
  3. 1

    Möchten Sie verwenden die jQuery-Funktion .after()

    $('input[type="radio"]').after('<label for="radio"></label>');
    $('input[type="checkbox"]').after('<label for="checkbox"></label>');

    Aber, wenn Sie die Beschriftung Ziel das richtige element, das Sie brauchen, um dies zu tun:

    $('input[type="radio"], input[type="checkbox"]').each( function() {
        var id = $(this).attr( "id" );
        $(this).after('<label for="' + id + '"></label>');
    } );

    Müssen Sie legen Sie die id des Elements in der for – Attribut des label-tag

    • ändern müssen Sie das doppelte Anführungszeichen auf einfaches Anführungszeichen „<label for=’radio‘></label>“
    • Es funktionierte nicht, es selbst beschädigt, die anderen JavaScript auf dieser Seite.
    • In der Tat, die Sie tun, danke!
    • Hier ist ein jsfiddle, die zeigen, wie es funktioniert kein problem 😉 Wenn es nicht funktioniert für Sie, es ist, weil Sie Hinzugefügt haben, ist es falsch.
  4. 0
    $(':radio, :checkbox').each(function () {
        $(this).before('<label for="' + this.id + '"></label>');
    });

Kostenlose Online-Tests