2016-05-15 21 views
1

はJavaScript変数、私は次のような問題を解決する方法を知っているしたいと思います:使用ASP-古典

私は配列を持っている - ASPで古典

objArray 

そして、私はJavaScriptでループ内でこれを使用しています。問題は、私がjavascriptコードに入っているときにasp配列の個々の要素にアクセスする方法と、その変数を使用することです。 iは整数を使用する場合はJavaScriptで私は簡単に、例えば、ASP-配列からindividal素子を得ることができる:

var theString = '<%=objArray[3]%>'; 

4'th位置における要素であること。

しかし、私は要素を得るために変数 'i'を使う必要があります - しかし、私はそのasp以来どのようにすることができますか?以下のコードを参照してください。

あなたはあなたのコード lengthで逃した
<script type="text/javascript"> 

    var arrayLen = '<%=nObjects%>' 

    for (var i = 0; i < arrayLen; i++) { 

     var y = document.createElement("label"); 

     y.innerHTML = '<%=objArray(i)%>'; // this doesnt work since asp doesnt recognice the variable i 

     document.body.appendChild(y); 

    } 

    </script> 

答えて

2

を使用すると、サーバ側で配列を持っているので、あなたはASPコード自体にループを行うことができます:

<% 
Dim objArray : objArray = Array(1,2,3,4,5) 
Dim i 
%> 
<script type="text/javascript"> 

var y; 
<% 
    for i=0 to UBound(objArray) 
%> 

     y = document.createElement("label"); 
     y.innerHTML = "<%=objArray(i)%>"; 
     y.id="label_<%=objArray(i)%>"; 
     document.body.appendChild(y); 
<% 
next 
%> 

    document.getElementById("label_1").innerHTML = "Modified First Label"; 

</script> 
+1

なぜ私はこれを考えなかったのですか:-)ありがとう!!! – java

+0

別のアプローチ*(あなたの要求に応じて)*は、配列の処理と '

-1

<script type="text/javascript"> 

    var arrayLen = '<%=nObjects%>'; 

    for (var i = 0; i < arrayLen.length; i++) { 

     var y = document.createElement("label"); 

     y.innerHTML = 'arrayLen(i)'; 

     document.body.appendChild(y); 

    } 

    </script> 
+0

残念ながらそのその時点で 'i'変数がClassic ASPには未知であるため、ループはサーバー側で処理する必要があります(*' Array'をクライアントにシリアライズしない限り、それは回避できませんが、ちょうどp ointless imo)*、何かがクライアントに返される前にサーバ側のコードが設定されていることを覚えておいてください。 – Lankymart

関連する問題