2013-01-04 64 views
0

我有以下HTML:检查收音机

<input type="radio" value="213490" id="lt_1133041_213490" name="lt_1133041[]"> 
<label for="lt_1133041_213490">LH License</label> 
<input type="radio" value="213491" id="lt_1133041_213491" name="lt_1133041[]"> 
<label for="lt_1133041_213491">PC License</label> 

我需要做的是能够根据标签文本检查无线电,所以如果我通过“LH许可证”它将检查id lt_1133041_213490,如果我通过“PC许可证”,它将检查id lt_1133041_213491。

不确定如何做到这一点。

+0

找到了答案,将发布能当。无需发布答案或评论。 – MB34

回答

2
id = $("label:contains("+label_text+")").attr('for'); 
$('#' + id).prop('checked', true); 
+0

使用'.prop()'+1 –

0

这很好。

var _radio = $("label:contains('LH License')").attr("for"); 
i = $("#" + _radio).attr('id'); 
+0

刚刚获得ID,然后检查,但@ Barmar的解决方案更好。 – MB34

+1

第二条语句没有做任何有用的事情,它只是将'i'设置为'_radio'。 – Barmar

1

您正在寻找这样的事情?见fiddle

function checkRadio(text){ 
    $('#'+$('label:contains('+text+')').attr('for')).attr('checked', 'checked'); 
} 

checkRadio('LH License'); 

这创建了一个函数,当传递一个字符串将检查适当的单选按钮。

1
function checkRadio(text){ 
    $('input:radio').filter(function(){ 
     return $(this).next('label').text()==text; 
    }).prop('checked', true);\ 

} 

要使用的功能:

checkRadio('LH License'); 
相关问题