Vbscript 使用变量名从下拉菜单中的选择中获取值

Vbscript 使用变量名从下拉菜单中的选择中获取值,vbscript,hta,dropdownbox,Vbscript,Hta,Dropdownbox,我创建了一个HTA页面,以获取从Active Directory筛选的工作站的状态。 目前,我添加了一些按钮,以便为在is旁边有按钮的工作站执行特定操作 由于我正在添加越来越多的函数,我想使用一个下拉框。 工作站列表的大小根据用户的输入而变化,因此我在下拉框中指定了工作站的名称 我现在的问题是无法在VBScript代码中检索所选值。 如果我输入listbox1.value,我会得到正确的值作为回报。 如果我使用将listbox的名称放在这样一个变量中,它将不起作用 strlistbox = "l

我创建了一个HTA页面,以获取从Active Directory筛选的工作站的状态。 目前,我添加了一些按钮,以便为在is旁边有按钮的工作站执行特定操作

由于我正在添加越来越多的函数,我想使用一个下拉框。 工作站列表的大小根据用户的输入而变化,因此我在下拉框中指定了工作站的名称

我现在的问题是无法在VBScript代码中检索所选值。 如果我输入
listbox1.value
,我会得到正确的值作为回报。 如果我使用将listbox的名称放在这样一个变量中,它将不起作用

strlistbox = "listbox1
listbox1.value
我犯了一个错误

这是我正在使用的代码的一部分。我总共有760行,所以我不会在这里粘贴所有内容

VBScript代码:

Sub RunOption(strCPU)
  dim lstname
  dim intNumber

  lstname = "list"&strCPU      'Value of lstname = listWPBED3702885

  msgbox listWPBED3702885.value    'If I try this messagebox, I get the value of the selected option form the dropdown list names "listWPBED3702885"

  intNumber = lstname.value 'This doesn't seem to work

  Select Case list 'intNumber
    Case 1   Do something
    Case 2   Do something
    Case 3   Do something
    Case 4   Do something
  End Select
End Sub
HTML代码:

strHTML = strHTML & "<td width='1'><select class='select' size='1' title='list" & _
          objRecordSet.Fields("Name") & "' name='list' onChange=""RunOption('" & _
          objRecordSet.Fields("Name") & "')"">"& _
          "<option value='0' selected>Options...</option>" & _
          "<option value='1'>C:\ Drive</option>" & _
          "<option value='2'>Computer Management</option>" & _ 
          "<option value='3'>Event Viewer</option>" & _
          "<option value='4'>MAC Address</option>" & _
          "</select></td>"
strHTML=strHTML&“_
“选项…”_
“C:\Drive”和_
"电脑管理"及
“事件查看器”和_
“MAC地址”和_
""

不能将变量设置为字符串,并期望该字符串的行为类似于HTML代码的元素。您需要获取名称或ID引用的元素。通常的方法是使用以下唯一ID定义要使用的元素:


...
然后通过
getElementById()
获取该元素:

Set listbox=document.getElementById(“uniquevalue”)
MsgBox listbox.value

不能将变量设置为字符串,并期望该字符串的行为类似于HTML代码的元素。您需要获取名称或ID引用的元素。通常的方法是使用以下唯一ID定义要使用的元素:


...
然后通过
getElementById()
获取该元素:

Set listbox=document.getElementById(“uniquevalue”)
MsgBox listbox.value

Ansgar所说的+
select
element的value属性仅在IE>9中具有所选选项的值。Ansgar所说的+
select
element的value属性仅在IE>9中具有所选选项的值。Ansgar,你是我的英雄!我对这一点还是很陌生,尤其是HTML和VBscript(HTA)的结合,我已经坚持了三天了。你救了我的周末;)安斯加,你是我的英雄!我对这一点还是很陌生,尤其是HTML和VBscript(HTA)的结合,我已经坚持了三天了。你救了我的周末;)