在我的HTML表单中(与大多数HTML表单一样),标签与字段共享相同的ID。一旦点击了具有匹配ID的复选框,我就会尝试返回标签标签的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。
答案 0 :(得分:34)
$('input').change(function() {
if (this.checked) {
var response = $('label[for="' + this.id + '"]').html();
}
});
无需从属性中获取id。
答案 1 :(得分:0)
这是根据您的要求的基本示例。如果选中了复选框,则需要复选框旁边标签中的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);
}
})
答案 2 :(得分:-2)
你的语法有点怪,试着像这样设置HTML
<input id="yes1" type="checkbox" />
<label for="yes1" id="yes1-label">This is the label</label>
然后像这样使用jquery
$("#yes1").click(function() {
if ($("#yes1").is(":checked")) {
/* it's not really clear what you are trying to do here */
var response = $("#label").attr("id");
$("#yes1-label").text(response);
}
});