Подтвердить что ты не робот

Используйте jQuery для поиска метки для выбранного элемента управления или текстового поля

Я хочу немного кода jQuery, который позволит мне найти метку для элемента управления, когда я нажимаю на текстовое поле... так что в моем HTML я это:

<label id="ctl00_WebFormBody_lblProductMarkup"  for="ctl00_WebFormBody_txtPriceAdjustment">This Is My Label Value</label>

<input type="text" style="width:29px;" onclick="alert('label value here');" title="Here is a title" id="ctl00_WebFormBody_txtPriceAdjustment" maxlength="3" name="ctl00$WebFormBody$txtPriceAdjustment">

Итак, когда я нажимаю на свое текстовое поле, я хочу (например) сделать предупреждение... с текстом, который находится внутри моего ярлыка, поэтому в этом случае он будет предупреждать "Это мое значение метки"

Надеюсь, что это имеет смысл:)

4b9b3361

Ответ 1

Используйте селектор атрибутов [] как [for='+ this.id +'], где this.id - это идентификатор текущего focus ed label

$('input').on("focus", function() {
   var labelText = $('label[for='+  this.id  +']').text();
   console.log( labelText );  
});
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<label for="inp">This Is My Label Value</label>
<input  id="inp" type="text" >

Ответ 2

$("#ctl00_WebFormBody_txtPriceAdjustment").bind("click",function(){
    alert($("label [for=" + this.id + "]").html());
});

или, возможно,

alert($(this).closest("label").html());

в зависимости от вашей разметки вы можете просто выбрать следующего или предыдущих братьев и сестер.

Ответ 3

В HTML-коде, подобном этому:

<label for="input-email">Email</label>
<input type="text" name="input-email" value="" />

Вы можете найти содержимое ярлыков следующим образом:

$('label[for="input-email"]').html();

Ответ 4

попробуйте следующее:

$('input[type=text]').focus(function(){
     alert($('label[for=' + $(this).attr('id') + ']').html());
});

Ответ 5

$('#ctl00_WebFormBody_txtPriceAdjustment').click(function() {
  alert($('#ctl00_WebFormBody_lblProductMarkup').text());
});

Ответ 6

Сделать это с помощью javascript

<script type="text/javascript">
function displayMessage()
{
alert(document.getElementById("ctl00_WebFormBody_lblProductMarkup").innerHTML);
}
</script>

<label id="ctl00_WebFormBody_lblProductMarkup"  for="ctl00_WebFormBody_txtPriceAdjustment">This Is My Label Value</label>

<input type="text" style="width:29px;" onclick="displayMessage()" title="Here is a title" id="ctl00_WebFormBody_txtPriceAdjustment" maxlength="3" name="ctl00$WebFormBody$txtPriceAdjustment">