JS初学者,用JS画的一个table 给td添加 一个onclick()事件怎么传值

JS菜鸟求助,用JS画的一个table 给td添加 一个onclick()事件如何传值?

function f1(PARENT_ID) {

$.ajax({
   type: "POST",
   url: "goods/test.do",//请求的后台地址
   data: "PARENT_ID="+PARENT_ID,//前台传给后台的参数
   success: function(jsonStr){//jsonStr:返回值
   //alert( jsonStr );
  
   //document.getElementById("GOODS_NAME").value=jsonStr;
   
   var json = eval(jsonStr); //数组       
   
   var ruleListTemp = "<table class='table table-striped table-bordered table-hover'>";
   
             $.each(json, function (index, item) {  
                 //循环获取数据    
                 var name = json[index].NAME;  
                 var zd_id = json[index].ZD_ID;  
                 
                 ruleListTemp += ("<tr>");
                 ruleListTemp += ("<td onclick='test2();'>"+name+"</td>");
                 ruleListTemp += ("</tr>");
                 
             });  
             ruleListTemp += ("</table>");  

             $("#zhongxin3").html($("#zhongxin3").html()+ruleListTemp);
             $("#zhongxin3").show();
   }
   
   
}); 

}



function test2(a) {

alert("aaaaaaaaaa"+a);

//document.getElementById("GOODS_NAME").value=a;

document.getElementById("zhongxin3").style.display="none";//隐藏
}




问题主要是


ruleListTemp += ("<td onclick='test2();'>"+name+"</td>");



onclick='test2();' 或者onclick='test2(1111);'  这种都是OK 没有问题 td是可以点击的  test2();中的alert 也是可以弹出的 

但是

ruleListTemp += ("<td onclick='test2("+name+");'>"+name+"</td>");

或是

ruleListTemp += ("<td onclick='test2('"+name+"');'>"+name+"</td>");

都是不行的 

求大神 尽量 讲详细点 为什么 这个值 不能 带到 test2();中 应该怎样写 JS初学者,用JS画的一个table 给td添加 一个onclick()事件怎么传值

------解决思路----------------------
ruleListTemp += ("<td onclick='test2(\'"+name+"\');'>"+name+"</td>");

------解决思路----------------------
ruleListTemp += ("<td onclick='test2(\""+name+"\");'>"+name+"</td>");
引号转义