0

HTA 内で vbscript を使用してサブネットの場所のリストを取得すると、次のようなテキストが返されます。

  • シカゴ
  • デンバー
  • ダラス
  • ダラス/ノース
  • ダラス/サウス
  • ダラス/ウェスト
  • ダラス/西/建物1
  • ダラス/西/建物 2
  • ヒューストン
  • サクラメント/ウェスト
  • サクラメント/西/建物1

jquery を使用して折りたたみ可能なメニューを作成できるように、順序付けられていないリストを動的に作成しようとしています。

配列を循環させることはできますが、ネストされた<ul>s と<li>s を構築することは一見不可能です。リストが実際に構築されたらjqueryの準備ができましたが、構築できないようです。

私のためにこれを行うことができるjqueryはありますか?

4

1 に答える 1

0

arrList は、上記の形式 (アルファベット順) で GetSubnetLocations 関数によって返されるリストです。

Dim arrMenu : ReDim arrMenu(-1)
Dim arrLocs : ReDim arrLocs(UBound(arrList),1)
i = 0
For Each x In arrList
    'Also building option list here
    intCount = Len(x) - Len(Replace(x,"/",""))
    arrLocs(i,0) = x
    arrLocs(i,1) = intCount
    i = i + 1
Next

Result.InnerHTML = ""

ReDim Preserve arrMenu(UBound(arrMenu)+1)
arrMenu(UBound(arrMenu)) = "<ul id=""menu"">"
For x = 1 To UBound(arrLocs,1) Step 1
    ReDim Preserve arrMenu(UBound(arrMenu)+1)
    arrMenu(UBound(arrMenu)) = "<li><a>" & " " & arrLocs(x,0) & "</a></li>"
Next 

For j = 1 To UBound(arrMenu)
    If arrLocs(j,1) > arrLocs(j-1,1) Then 
        arrMenu(j-1) = Replace(arrMenu(j-1),"</li>","<ul style=""display:none"">")
    End If 
    If arrLocs(j,1) < arrLocs(j-1,1) Then 
        For x = 1 To arrLocs(j-1,1) - arrLocs(j,1)
            arrMenu(j-1) = arrMenu(j-1) & "</li>"
        Next 
    End If 
Next 
ReDim Preserve arrMenu(UBound(arrMenu)+1)
arrMenu(UBound(arrMenu)) = "</ul>"

strMenu = ""
For Each n In arrMenu
     strMenu = strMenu & n
Next
Result.InnerHTML = strMenu
于 2013-08-13T13:45:04.453 に答える