एएसपी से जावास्क्रिप्ट तक एक सरणी पार्स करें और एक div टैग में आउटपुट करें

निम्न कोड में मैं एएसपी से जावास्क्रिप्ट सरणी में एक सरणी को पार्स करना चाहता हूं, जावास्क्रिप्ट में एक सरणी अनुक्रमणिका चुनें और बटन के प्रेस पर एक div टैग में इंडेक्स का मान आउटपुट करें। कोडिंग का यह टुकड़ा एक बड़े कोड का केवल एक हिस्सा है और मुझे इस भाग को दूसरे पर जाने के लिए पता लगाने की आवश्यकता है जो जावास्क्रिप्ट में भी होगा।

एक .asp फ़ाइल में कोड यहां दिया गया है:

    <%

    Dim va(3)
    va(0) = 2
    va(1) = 3
    va(2) = 4

    %>

    <html>

    <button onclick="func()">Press</button>
    <div id="mydiv"></div>

<script src="jquery-1.10.2.min.js"></script>

    <script>


    function func(){
    ba = new Array();

    i = 0;
    while(i < 3){
    ba[i]=<%=va(i)%>;
    i++;
    }


    document.getElementById("mydiv").innerHTML=ba[2];
    }
    </script>
    </html>

वर्तमान में कोड इस पंक्ति में कौन सी इंडेक्स चुनता है, इस पर ध्यान दिए बिना, सरणी में पहली अनुक्रमणिका के मान को वापस करने पर कोड रहता है - document.getElementById ("mydiv")। InnerHTML = ba [2]; । उदाहरण के लिए परिणाम 4 दिखाना चाहिए, लेकिन यह मुझे मेरे div टैग में 2 दे रहा है। अगर मैं while लूप को प्रतिस्थापित करता हूं:

ba[0]=<%=va(0)%>;
ba[1]=<%=va(1)%>;
ba[2]=<%=va(2)%>;

it works, but i will be having much bigger arrays in the future to deal with. I also tried a for loop, ba = new Array(<%=va%>);, but no luck. How can i use a loop to do this. It seem very simple but i can't seem to get it to work, any advice is much appreciated. Thanks.

1

2 उत्तर

आपने जावास्क्रिप्ट (क्लाइंट साइड कोड) में अपना लूप लिखा है। आपको सर्वर साइड कोड और आउटपुट क्लाइंट साइड कोड और डेटा के साथ अपने सर्वर साइड सरणी के माध्यम से लूप करने की आवश्यकता है। कुछ ऐसा करने का प्रयास करें:

For i = LBound(va) To UBound(va)
    Response.Write "ba[" & i & "] = " & va(i) & ";" & vbcrlf
Next

मैं सर्वर और क्लाइंट साइड के बीच डेटा स्थानांतरित करने की इस विधि पर सवाल उठाऊंगा, उदाहरण के लिए, शायद कुछ एएसपी क्लासिक JSON पुस्तकालयों को देखें।

1
जोड़ा

इसके बजाए बस इतना कोड है:

function func(){
    ba = [<%=Join(va, ", ")%>];
    document.getElementById("mydiv").innerHTML=ba[2];
}

आउटपुट कुछ ऐसा होगा:

ba = [2, 3, 4];

आप जो चाहते हैं वह है।

0
जोड़ा