2015-09-10 61 views
1

我想动态改变与单选按钮相关的文本。使用jquery更改单选按钮的文本

HTML:

<label for="rdBtnNormalPricing"> 
    <div class="radio" id="uniform-rdBtnDigitize"> 
     <span><input id="rdBtnDigitize" runat="server" name="groupradio" type="radio" value="1" tabindex="2" class="validate"></input></span> 
    </div> 
    Digitizing 
</label> 

JS:

$(function(){ 
$('label[for=rdBtnDigitize]').html('Screen Printing'); 
}); 

小提琴:http://jsfiddle.net/xb1kv06g/

回答

3

你可以试试这个:

$(function() { 
    $('.radio')[0].nextSibling.data = 'Screen Printing' 
}); 

FIDDLE DEMO

0

更改了您的选择器以便更好地阅读。因为你的单选按钮有一个ID,所以使用这个作为选择器就足够了,所以$('#rdBtnDigitize')会做这项工作。

那么我们刚刚输入的元素之后插入这个和...你去...

$('#rdBtnDigitize').after("<label for='rdBtnDigitize'>Screen Printing</label>"); 

你甚至可以将其更改为自动贴标(http://jsfiddle.net/xb1kv06g/5/):

$("input[type='radio']").each(function (index) { //loop through every radio input field 
    var curID = $(this).attr('id'), //save current ID 
    label = $("<label>"); //create label element 
    label.attr("for", curID); //define for attribute and connect with radio id 
    label.text("label #" + index); //enter label text 
$(this).after(label); //insert after the radio button 

} );

当然,这种解决方案提供了不可用的标签名称 - 这是您必须更改代码并从某处获取标签名称的地方...