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>
有帮助吗?     ,如果我的第一个下拉列表将列出父文件夹中的所有子文件夹,怎么办?当我从第一个下拉列表中选取一个子文件夹时,它将生成secend下拉列表,该列表将列出该文件夹中的所有子文件夹,依此类推?这该怎么做?
<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>