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として出力されます。
$('input').change(function() {
if (this.checked) {
var response = $('label[for="' + this.id + '"]').html();
}
});
属性からIDを取得する必要はありません。
これは、要件ごとの基本的な例です。チェックされている場合は、チェックボックスの横にあるラベルの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);
}
})