如何从字符串创建多级列表菜单
How can I create a multi-level list menu from strings?
我在HTA中使用vbscript来获取子网位置列表,它返回如下文本:
- 芝加哥
- 丹佛
- 达拉斯
- 达拉斯/北部
- 达拉斯/南部
- 达拉斯/西部
- 达拉斯/西部/建筑1
- 达拉斯/西部/建筑2
- 休斯顿
- 萨克拉门托/西部
- 萨克拉门托/西部/建筑1
我正在尝试动态创建一个无序列表,以便使用jquery创建一个可折叠菜单。
我可以循环遍历一个数组,但构建嵌套的<ul>
s和<li>
s似乎是不可能的。一旦列表真正构建完成,我就准备好了jquery,但我似乎无法构建它。
有什么jquery可以为我做这件事吗?
其中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
相关文章:
- 要求输入在数据列表中
- 从javascript创建一个列表
- 如何使用jQuery选择下拉列表的值
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- Javascript按钮下拉列表
- 如何使用json将对象列表从java转换为javascript
- 多级HTML表单
- 区分JSON中的矩阵和列表列表
- 如何在Javascript中创建排序、拖放多级列表
- 如何修剪表单'提交'多级选择列表的值
- jQuery 创建多级无序列表
- mootools中的多级下拉列表
- 我们可以为网站多级类别的列表框值做这个imacrosjavascript吗
- 多级角度 JS 下拉列表
- 获取多级下拉列表,使其仅以特定的浏览器宽度显示
- 带有选择类的语义UI多级下拉列表不展开
- 如何从字符串创建多级列表菜单
- 如何使用jquery制作多级级联下拉列表
- 如何将选定的项目从多级列表复制到文本框中