簡體   English   中英

在JQuery中訪問ASP經典Collection變量

[英]Accessing ASP classic Collection variable in JQuery

嗨,大家好,我是ASP Classic和jquery的新手,我只是想知道是否有一種方法可以將我的集合變量傳遞給jquery。 我的目標是使變量一次向下滑動。 我在jquery上遇到了.slideDown函數,因此我嘗試使用它,但似乎無法正常工作,所以我想我的問題是什么...任何幫助將不勝感激。

ASP代碼:

        <%

        Dim objDictionary, Key,searchWord, myVar,a,i, break
        searchWord = request.QueryString("searchWord")
        break = Response.write("<br />")


        Set objDictionary = CreateObject("Scripting.Dictionary")
        objDictionary.CompareMode=1
        objDictionary.Add "Hello","hello"
        objDictionary.Add "Age","age"
        objDictionary.Add "height","height"
        objDictionary.Add "sample","sample"
        objDictionary.Add "words","words"



        if objDictionary.Exists(searchWord) then
            objDictionary.Remove(searchWord)
           a = objDictionary.Keys

            for i=0 to objDictionary.Count-1
            Response.Write(a(i)) 
            break

            next
            set objDictionary=nothing
        else 
            a = objDictionary.Keys

            for i=0 to objDictionary.Count-1
            Response.Write(a(i)) 
            break
            next
            set objDictionary=nothing

        end if      


        %>

JQUERY代碼:

<script type="text/javascript">
    $(document).ready(function(){
    $("#toFall").slideDown("slow");});
</script>

您是否嘗試過將每個字典鍵放在某種DOM容器中,例如div-每個字典鍵都是#toFall的子代,例如:

   Response.write "<div id='#toFall'>"  
   for i=0 to objDictionary.Count-1
        Response.Write "<div>" + (a(i)) + "</div>"
   next 
   Response.write "</div>"

^^請仔細檢查語法-我的VBScript生銹了。 另外-您確定要在循環中中斷-難道這意味着只發生一次寫操作?

這是一種通用方法,該方法會將任何經典的ASP集合(帶有鍵和值)發送為JavaScript集合:

Sub CollectionToJavaScript(oCollection, sClientSideName) 
    Dim blnFirst
    blnFirst = True
    Response.Write("<" & "script" & " type=""text/javascript"">")
    Response.Write("var " & sClientSideName & " = {")
    For Each key In objDictionary.Keys
        If Not(blnFirst) Then Response.Write(", ")
        Response.Write("""" & key & """: """ & objDictionary(key) & """")
        blnFirst = False
    Next
    Response.Write("};")
    Response.Write("</" & "script>")
End Sub

第一個參數是集合,第二個參數是用於保存JavaScript集合的客戶端變量的所需名稱。

這將創建客戶端復雜對象,以后可以使用您提供的名稱作為上述方法的第二個參數來對其進行訪問。

調試其正常工作的一般方法:

<script type="text/javascript">
for (var key in myCollection) {
    alert("key is " + key + " and value is " + myCollection[key]); 
}
</script>

對於您的情況,應在填充集合后像這樣調用此方法:

Call CollectionToJavaScript (objDictionary, "myCollection")

然后在您的jQuery中,假設您要向下滑動所有鍵(即所有鍵都是有效的DOM元素),則應具有以下代碼:

$(document).ready(function() {
    for (var key in myCollection) {
        $("#" + key).slideDown("slow");
    }
});

如果還需要與每個鍵關聯的值,請在循環中使用myCollection[key]進行訪問。

暫無
暫無

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

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