HTA vbscript下拉列表,用于筛选其他下拉列表



我对创建HTA还很陌生,如何创建一个下拉列表来过滤其他下拉列表的结果?我有一个包含站点名称和状态的数据库,我希望在选择状态后,只使用所选状态匹配的记录来填充站点下拉列表。

这里有一个非常简单的HTA,它根据从另一个下拉列表中选择的内容填充一个下拉菜单。应该很容易适应从数据库中读取。

<html>
<head>
    <title>Test</title>
    <HTA:APPLICATION
      APPLICATIONNAME="Test"
      ID="Test"
      VERSION="1.0"/>
</head>
<script language="VBScript">
    Sub Window_OnLoad
        Populatedropdown1
    End Sub
    Sub Populatedropdown1
            For i = 0 To 5
                Set opt = document.createElement("option")
                opt.Value = i
                opt.Text = "Option " & CStr(i)
                dropdown1.add opt
            Next    
    End Sub
    Sub Populatedropdown2
            For Each opt in dropdown2.Options
                opt.RemoveNode
            Next 
            For i = dropdown1.value To 10
                Set opt = document.createElement("option")
                opt.Value = i
                opt.Text = "Option " & CStr(i)
                dropdown2.add opt
            Next    
    End Sub
</script>
<body bgcolor="white">
    <p>Select 1: <select name="dropdown1" id="dropdown1" onchange="Populatedropdown2"></select></p>
    <p>Select 2: <select name="dropdown2" id="dropdown2" ></select></p>
</body></html>

这有帮助吗?

如果我的第一个下拉列表将列出父文件夹中的所有子文件夹,当我从第一个下拉菜单中选择一个子文件夹时,它将生成第二个下拉列表,该列表将列出其中的所有子文件夹,依此类推,该怎么办?如何做到这一点?


<HEAD>
  <TITLE>K Drive Program Structure</TITLE>
  <HTA:APPLICATION ID="Eeee" 
    APPLICATIONNAME="C Drive " 
    BORDER="Dialog"
    CAPTION="Yes"
    SCROLL="NO"
    SHOWINTASKBAR="yes"
    SINGLEINSTANCE="yes"
    SYSMENU="Yes"
    WINDOWSTATE="maximize">
</HEAD>
<BODY>
<SCRIPT LANGUAGE="VBScript">
Sub UpdateList
  For Each opt In list.Options
   opt.RemoveNode
  Next
  Set fso = CreateObject("Scripting.FileSystemObject")
  For Each f In fso.GetFolder("C:WORK").SubFolders
    Set opt = document.createElement("OPTION")
    opt.Text  = f.Name
    opt.Value = f.Path
    list.Add(opt)
  Next
End Sub
Sub EnumSubFolders
  Set fso = CreateObject("Scripting.FileSystemObject")
  For Each opt In list.options
    If opt.selected Then
      Set sf = fso.GetFolder(opt.value).SubFolders
      Exit For
    End If
  Next
End Sub
</SCRIPT>
<H2>K Drive Structure</H2>
<P>CUSTOMER NAME
<select id="list" name="list" onkeydown="UpdateList" onChange="EnumSubFolders"></select><P>


<BR>
<BR>
<Input Type = "Button" Name = "btn01" VALUE = "SUBMIT">
<Input Type = "Button" Name = "btn02" VALUE = "CLOSE">
<BR>
<BR>
</BODY>

最新更新