web-dev-qa-db-fra.com

jQuery donné l'ID d'entrée, obtenir le texte de l'étiquette

Dans mes formulaires HTML (comme dans la plupart des formulaires HTML), les étiquettes partagent les mêmes identifiants que les champs. J'essaie de retourner au code HTML de l'étiquette une fois la case cochée avec l'identifiant correspondant activée.

<input id="yes1" type="checkbox">
<label for="yes1">This is the text it should return.</label>

Et mon jQuery:

$('input').change(function() {
    if (this.checked) {
        var response = $('label#' + $(this).attr('id')).html();
    }
}

Mais hélas, la réponse est NULL.

13
delwin
$('input').change(function() {
    if (this.checked) {
        var response = $('label[for="' + this.id + '"]').html();
    }
});

Pas besoin d'obtenir l'identifiant de l'attribut.

Démo: http://jsfiddle.net/wycvy/

34
AlienWebguy

voici l'exemple de base selon vos besoins. Vous avez besoin du contenu HTML de l'étiquette en regard de votre case à cocher, s'il est coché.

utilisez ceci 

HTML 

<div>
<form >
<input type="checkbox" id="yes" /><label for="yes">text yes </label>
<input type="checkbox" id="no" /><label for="no">text no</label>

 </form>


</div>

JQUERY 

$('input').change(function() {
        if (this.checked) {
            var response =  $(this).next("label").html();
            alert(response);
        }
    })
0
Murtaza