你把循环拿出来赋值----(下边是我改过的,你看看可以不?)
var temp_options=""
for(var g=0;g<arr.length;g++){
temp_options=temp_options+"<option value='"+arr[g]+"' text='"+arr[g]+"'>"+arr[g]+"</option>";
}
newCell.innerHTML="<input type='hidden' name='supplier_id"+line+"' readonly='readonly' value='' >"+"<select>"+ temp_options+"</select>";}
var temp_options=""
for(var g=0;g<arr.length;g++){
temp_options=temp_options+"<option value='"+arr[g]+"' text='"+arr[g]+"'>"+arr[g]+"</option>";
}
newCell.innerHTML="<input type='hidden' name='supplier_id"+line+"' readonly='readonly' value='' >"+"<select>"+ temp_options+"</select>";}
<form name="Form1">
<select name="Select1">
</select>
</form><SCRIPT>
function CreateHtml()
{
var thisObject=eval('Form1.Select1') thisObject.options.length=0;
thisObject.options[0]=new Option("请选择",""); var returnvalue = "aa#bb#cc" //-->这是你得到的字符串或数组
var m = returnvalue.split("#");
var len=m.length; for (i=0;i<len;i++)
{
thisObject.options.add(new Option(m[i],m[i],true,true));
}}
CreateHtml()
</script>