2016-09-30 4 views
3

Привет всем Я хочу, чтобы захватить имя метки (72 * 30), используя следующий код:получить значение метки от флажка с помощью JQuery

$("input[type = 'radio']:checked:last").each(function() { 
 
    var idVal = $(this).attr("id"); 
 
    var a = $("label[for='"+idVal+"']").text(); 
 
    alert(a); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<li class="radio"> 
 
    <input class="tmcp-field nav nav-pills dimension-layer-dimension tm-epo-field tmcp-radio" type="radio"> 
 
    <label id="tmcp_radio_9" >72*30</label> \t 
 
    <span class="price tc-price hidden"> 
 
    <span class="amount">20 <i class="fa fa-inr"></i></span> 
 
    </span> \t \t 
 
</li>

Но код не alert ничего. Что не так?

+0

вы можете напрямую получить значение с помощью id ..? то почему – Keerthivasan

+1

Вы указали идентификатор и можете получить доступ напрямую, используя $ ("# tmcp_radio_9"). text() –

+0

@KeerthiVasan У меня есть три идентификатора переключателя, генерирующих динамически одинаковые –

ответ

3

Вы можете использовать next(), потому что ваш label после (следующий) Вашего input

$("input[type='radio']:checked:last").next().text() 

Надеется, что это поможет.

Вы можете увидеть демо here

0

Попробуйте как этот

var lb = $('#tmcp_radio_9').text(); 
0

Используйте это ключевое слово

$("input[type='radio']:checked").each(function() { 

    var a= $(this).next().text(); 
    alert(a); 

}); 
0

Попробуйте также

$("input[type='radio']:checked").each(function() { 

    var a= $(this).closest("label").text(); 
    alert(a); 

}); 
Смежные вопросы