function myeachtabledata(id)
{
 var tabarr=new Array();
 $('#'+id).find("tr").each(function(trindex)
 {
 tabarr[trindex]=new Array();
 $(this).find("td").each(function(tdindex)
 {
 tabarr[trindex][tdindex]=$(this).text();
 });
});
 return window.location.href =("?a=export_csv &&str=" +tabarr);
}

解决方案 »

  1.   

    javascript 的 + 运算符,如果一个操作数是字符串,另一个会被转换成字符串(调用类型的toString方法)
      

  2.   

    javascript: a + b
    +为运算符
    a,b为操作数如果a或b是一个字符串,另一个操作数会被转换成string,在javascript权威指南中有明确的说明
      

  3.   

    你说最后调用那个+号,哇靠,那我杂整啊,这不扯开了,哪咋传这个数据啊?换成你的表达式是:"?a=export_csv &&str=" + tabarr
    a= "?a=export_csv &&str=";
    b= tabarra+b="?a=export_csv &&str="+ tabarr.toString()
      

  4.   

    数组参加运算是,调用是 valueOf方法,valueOf是以数组元素以","分隔连接
      

  5.   


     好同志,我不是城管,我是好人,给想想办法吧,js 我连2把刀都不算,硬头皮写,导出个csv人都说js自己就能干,我哪会啊,在后边用$.post传呢,数据回来了,可惜在firebug里面,咋弄出来啊。
      

  6.   

    重写下数组的toString方法试试
    Array.prototype.toString=function(){
    return "["+this.join(",")+"]";
    }
    var arr=[];
    arr[0]=[1,2];
    arr[1]=['a','b'];
    alert(arr);
      

  7.   

      以字符相加时调用 toString
      

  8.   


    <script type="text/javascript">
    var arr=[1,2,3];
    alert("this is :"+arr.toString() === "this is :"+arr);
    </script>
      

  9.   

    在后边用$.post传呢,数据回来了,可惜在firebug里面,咋弄出来啊。re:?a=export_csv &&str=1,2,3
    这叫post?get好不好