javascript
  • arrays
  • struts2
  • 2017-05-25 60 views 1 likes 
    1

    专家,我这里有一个情况。我有字符串[](在Struts2操作类字符串阵列的ArrayList ArrayList中,我迭代这些值代入JavaScript来传递这些值作为一个二维阵列,通过使用struts2迭代器的值到javascript数组中

    var twodarray = ["<s:iterator value='res' status='status'>[<s:property/>]<s:if test='#status.last==false'>,</s:if></s:iterator>"]; 
    

    然后使该twodarray到Google图表使用

    var data = google.visualization.arrayToDataTable(twodarray); 
    

    谷歌图表如何接受所​​述参数是例如

    var data = google.visualization.arrayToDataTable([ 
        ['Month', 'Electronic', 'Electric'], 
        ['2017/03', 400,  290], 
        ['2017/04', 450,  275] 
        ]); 
    

    当我使用

    谷歌图表
    var data = google.visualization.arrayToDataTable(twodarray); 
    

    图形没有显示出来,但是当我显示twodarray的值或者警告twodarray时,它给了我像下面这样的二维数组的精确数据。

    var twodarray=[['Month', 'Electronic', 'Electric'],['2017/03', 400,  290],['2017/04', 450,  275]]; 
    

    我想知道可变twodarray如何解释值传递作为2D阵列的JavaScript 功能。它作为一个字符串传递吗?我试图将它作为二维数组传递。

    +0

    twodarray = [“ Jan

    +0

    通过javascript警报。 – Hari

    +0

    很好,Jan!我删除它,它的作品。我想我得喝点咖啡回来。 – Hari

    回答

    1

    你的变量声明

    var twodarray = ["<s:iterator value='res' status='status'>[<s:property/>]<s:if test='#status.last==false'>,</s:if></s:iterator>"]; 
    

    包含不需要由迭代" - 所以他们可能最终会在你的JavaScript变量使其成为一个字符串数组 - 或者一个字符串更准确的阵列。

    卸下"应招:

    var twodarray = [<s:iterator value='res' status='status'>[<s:property/>]<s:if test='#status.last==false'>,</s:if></s:iterator>]; 
    
    0

    与简的解决方案确定。 一个建议,我会以这种方式创建JS数组:

    var twodarray = []; 
    <s:iterator value='res' status='status'> 
        twodarray.push([<s:property/>]); 
    </s:iterator> 
    

    这使得它更在你的模板,并在HTML可读(无负担昏迷条件和嵌套括号)

    var twodarray = []; 
    twodarray.push(['Month', 'Electronic', 'Electric']); 
    twodarray.push(['2017/03', 400,  290]); 
    twodarray.push(['2017/04', 450,  275]); 
    
    相关问题