簡體   English   中英

在JavaScript數組中存儲數據

[英]Storing data in JavaScript array

這是我的jsp代碼,我試圖在javaScript數組中推送一些數據。

 <%
    int proListSize =  proList.size(); 

ProfileDAO proDAO = null;

            for(int i = 0, j=1; i < proListSize; i++){

                proDAO = (ProfileDAO)proList.get(i);%>

        entireArray.push(<%= proDAO.getNetworkmapId()%> + ":"+<%=proDAO.getAssetId()%> + ":" + <%= proDAO.getCode()%>);

        <%} %>

這是我試圖通過使用pop函數來使用它的功能。

function GenDemographicTag() {

 var ptag = "<!-- Begin "+networkNameToUpperCase+" -->\n" ;
            var t = "";
             if (WhiteTagLabelDomain) {
                ptag += "<iframe src=\"http://"+WhiteTagLabelDomainTrim+"/jsc/"+folderName+"/dm.html?";
             } else {
                ptag += "<iframe src=\"http://"+cdnName+"/jsc/"+folderName+"/dm.html?";
             }
            ptag += "n="+networkId+";";

            for(var i = 0;i< entireArray.length;i++){
                var combinedString = entireArray.splice(1,1);
                var rightSide = combinedString.split(':')[0];
                var middle = combinedString.split(':')[1];
                var leftSide = combinedString.split(':')[2];
            t = "";
            if ( $("proElementEnable_"+rightSide) && $("proElementEnable_"+leftSide).checked) {
                if ( middle == "1") {
                   if ( $("zip").value.length <= 0) {
                     t = "0";
                    } else {
                  t =  $("zip").value;
                    }
                } else if ( $("targetList_"+rightSide) && $("targetList_"+rightSide).length > 0 &&  $("targetList_"+rightSide).options[0].value != "-1") {
                    t =  makeProelementList($("targetList_"+rightSide));
                 }
                ptag += leftSide+"=" + t+ ";";
            }

             proDAO = null;
            }

            ptag += "\" frameborder=0 marginheight=0 marginwidth=0 scrolling=\"no\" allowTransparency=\"true\" width=1 height=1>\n</iframe>\n<!-- end "+networkNameToUpperCase+"   -->\n";

            document.forms[0].tag.value = ptag;

        }

基本上我試圖從proList獲取數據並將其存儲在javaScript數組(wholeArray)中...以便我可以在javascript函數中使用..但在執行上述操作后,我得到一個javaScript錯誤,如下所示:

entireArray.push(3 + ":"+3 + ":" + d3);

entireArray.push(185 + ":"+5 + ":" + d4);

entireArray.push(2 + ":"+2 + ":" + d2);

entireArray.push(186 + ":"+5 + ":" + d9);

entireArray.push(183 + ":"+5 + ":" + d6);

entireArray.push(184 + ":"+5 + ":" + d7);

entireArray.push(187 + ":"+5 + ":" + da);

entireArray.push(445 + ":"+5 + ":" + db);

Reference Error:d3 is not defined.  

什么是確切的問題..?

splice的返回類型是ARRAY,因此您可以嘗試以下代碼

var combinedString = entireArray.splice(1,1);
var rightSide = combinedString[0].split(':')[0];
var middle = combinedString[0].split(':')[1];
var leftSide = combinedString[0].split(':')[2];

d3應該用引號括起來。 "d3"

您需要將JSP從引號中刪除。

entireArray.push(<%= proDAO.getNetworkmapId()%> + ":"+<%=proDAO.getAssetId()%> + ":" + '<%= proDAO.getCode()%>');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM