HTML
<label for="my_id">my label</label>
<input id="my_id" type="text" value="my value" />
现在使用label如何提取输入的id
$('label').text(function(){
return $('input $(this).attr('for')').val();// like input#my_id
});
我认为这不正确。怎么办?
答案 0 :(得分:4)
您只需使用标签的htmlFor
属性来引用文本框:
$('label').text(function() {
// find tag by id and return its value
return $('#' + this.htmlFor).val();
});
再次阅读这个问题,你可能正在寻找这个:
$('label').text(function() {
return 'input#' + this.htmlFor;
});
另请参阅:label
答案 1 :(得分:1)
它应该是:
$('label').text(function () {
return $('input#' + $(this).attr('for')).val(); // like input#my_id
//or
return $('#' + $(this).attr('for')).val(); // like #my_id
});
<强> Working Fiddle 强>
答案 2 :(得分:0)
在接收器功能中形成动态选择器的方式是完全错误的,
尝试,
$('label').text(function(){
return $('#' + $(this).attr('for')).val();
});
或者,如果您的原始HTML结构与给定的结构相同,那么您可以使用.next()
,
$('label').text(function(){
return $(this).next('input').val();
});
答案 3 :(得分:0)
$('label').text(function(){
return $('#' + $(this).prop('for')).val();
});