2015-09-10 104 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 

} );

當然,這種解決方案提供了不可用的標籤名稱 - 這是您必須更改代碼並從某處獲取標籤名稱的地方...