A backend web service should not return HTML, or even anything to do with HTML constructs. Have it return an object structure and use a templating engine, or a bunch of jquery code to interpret the object data and build the html structures in the UI layer, aka.. your html/js.
If you're using c#, look into WebAPI. It will return and accept JSON objects and translate them into .Net objects/DTO's.
http://www.asp.net/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-web-api
As an example:
Your data service could return some object in JSON:
[{size: "6 inch", sizeAbbrev: '6"', otherProp: 538, otherProp2:116, otherProp3: 152: otherProp4: false}]
Then jquery could do something like:
data.forEach(function(obj, i){
$('#myDiv').append('<input type="radio" value= "' + obj.size + ':' + obj.sizeAbbrev + '"/>';
});
Templating libs like handlebars do this more cleanly, but jQuery works too..
Now your backend service just serves up data and if you no longer want to use an input box or radio.. you don't need to recompile your svc.. you just change a little lightweight js.