大家好我刚刚使用asp经典和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 CODE:
<script type="text/javascript">
$(document).ready(function(){
$("#toFall").slideDown("slow");});
</script>
答案 0 :(得分:0)
您是否尝试将每个字典键放在某种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生锈了。另外 - 你确定你想要在循环中中断 - 这是否意味着只发生一次写入?
答案 1 :(得分:0)
这是一个通用方法,它将任何经典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]
来访问它。