You need to call the refresh method after changing the underlying state:
Refreshes the visual state of the button. Useful for updating button state after the native element’s checked or disabled state is changed programatically.
Working example: http://jsbin.com/udowo3
function setRadio(id) {
var radio = $('#' + id);
radio[0].checked = true;
radio.button("refresh");
}
That uses IDs for the radios, but it doesn’t matter as long as you get a jQuery instance containing the relevant input[type=radio] element.