Populate a form using json data

Populate a form using json data

I have a few forms that are enclosed in tabs on a mega form and each is saved via ajax. I need to load existing data into the forms upon load via ajax rather than embed the data on load in the value attribute of each element. I am thinking there has to be a better way to generically handle the json data than this:

$.each(data,function(name,value) { 
if( $("[name="+name+"]").is("input:text") )
$("input[name="+name+"]").val(value);
if( $("[name="+name+"]").is("select") )
$("select[name="+name+"]").val(value);
if( $("[name="+name+"]").is("input:radio") )
$("input[name="+name+"][value='" + value + "']).attr("checked",true);
if( $("[name="+name+"]").is("input:checkbox") )
$("input:checkbox[name="+name+"]").attr("checked", value!=null);
if( $("[name="+name+"]").is("textarea") )
$("textarea[name="+name+"]").val(value);
}); 

Is there a better way to do this that I'm missing?