从标签中提取输入的id

时间:2014-02-26 06:51:07

标签: jquery

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
});

我认为这不正确。怎么办?

4 个答案:

答案 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();
});

http://api.jquery.com/prop/