Q:

How to change the text of a radio button

I have a radio button that needs to be dynamically updated from user input but the normal .val(), .text(), and .html() won't work. How can I change the text of a radio button using jQuery or plain JavaScript?

A:

A radio input does not have text
All it is is this:
<input type="radio" />

A:

A radio button doesn't have text associated with it. 
But if you have a label tag / span tag next to the radio option. then you can use .next to access that element and change its text/html
DEMO
HTML:
<input type="radio" /><label>Option 1</label>

or
<input type="radio" /><span>Option 1</span>

JS:
var $label = $('input[type=radio]').next();
$label.text('Options'); 

Or you can use the below hack to change the text next to radio option. Note that the below code assumes that text is next to radio option.
DEMO
var isRadioLabel = 0;
$('div').contents().each(function() {
    if (this.nodeName == '#text' && isRadioLabel == 1) {
        isRadioLabel = 2;
    }
    if (isRadioLabel == 2) {
        this.nodeValue = 'Options';
        isRadioLabel = 0;
    }
    if (this.type == 'radio') {
        isRadioLabel = 1;
    } else {
        isRadioLabel = 0;
    }
});

