我对创建 HTA 相当陌生,如何创建一个下拉列表来过滤其他下拉列表的结果?我有一个包含站点名称和状态的数据库,我希望在选择状态后仅使用所选状态匹配的那些记录填充站点下拉列表。
问问题
6892 次
2 回答
5
这是一个非常简单的 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>
这有帮助吗?
于 2011-05-25T08:57:30.587 回答
2
如果我的第一个下拉列表将列出父文件夹中的所有子文件夹,当我从第一个下拉列表中选择一个子文件夹时,它会生成第二个下拉列表,该列表将列出其中的所有子文件夹等等?这该怎么做?
<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>
于 2013-07-11T14:29:08.987 回答