HTA vbscript выпадающий, который фильтрует другие выпадающие - PullRequest
2 голосов
/ 24 мая 2011

Я довольно новичок в создании HTA, как я могу создать выпадающий список, который будет фильтровать результаты для других выпадающих списков?У меня есть база данных с sitename и состоянием, и я хотел бы заполнить раскрывающийся список сайтов после выбора состояния только теми записями, для которых было выбрано соответствующее состояние.

Ответы [ 2 ]

5 голосов
/ 25 мая 2011

Вот очень простой 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>

Помогает ли это?

2 голосов
/ 11 июля 2013

Что, если в моем первом раскрывающемся списке будут перечислены все вложенные папки в родительской папке, когда я выберу одну подпапку из первого раскрывающегося списка, он сгенерирует раскрывающийся список с отправкой, в котором будут перечислены все подпапки и т. Д. Как это сделать?


<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>
...