web-dev-qa-db-ja.com

入力IDを指定したjQuery、ラベルテキストを取得

HTMLフォーム(ほとんどのHTMLフォームと同様)では、ラベルはフィールドと同じIDを共有します。一致するIDのチェックボックスがクリックされたら、labelタグのHTMLに戻ろうとしています。

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

そして私のjQuery:

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

しかし悲しいかな、応答はNULLとして出力されます。

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

属性からIDを取得する必要はありません。

デモ: http://jsfiddle.net/wycvy/

34
AlienWebguy

これは、要件ごとの基本的な例です。チェックされている場合は、チェックボックスの横にあるラベルのhtmlコンテンツが必要です。

これを使って

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