从具有变量名称的下拉菜单中的选择中获取值
get value from selection in dropdown menu with variable name
我创建了一个 HTA 页面来获取从 Active Directory 中过滤的工作站的状态。
目前我添加了按钮来为旁边有按钮的工作站执行特定操作。
由于我添加的功能越来越多,我想使用下拉框。
工作站列表的大小是可变的,具体取决于用户的输入,所以我在下拉框中给出了 worstation 的名称。
我现在遇到的问题是无法在我的 VBScript 代码中检索选定的值。
如果我输入 listbox1.value
,我会在 return 中得到正确的值。
如果我像这样将列表框的名称放在变量中,它不起作用。
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>"
您不能将变量设置为字符串并期望该字符串的行为类似于您的 HTML 代码的元素。您需要获取名称或 ID 引用的元素。通常的方法是用这样的唯一 ID 定义要使用的元素:
<select id='uniquevalue' ...>
...
</select>
然后通过 getElementById()
:
获取该元素
Set listbox = document.getElementById("uniquevalue")
MsgBox listbox.value
我创建了一个 HTA 页面来获取从 Active Directory 中过滤的工作站的状态。 目前我添加了按钮来为旁边有按钮的工作站执行特定操作。
由于我添加的功能越来越多,我想使用下拉框。 工作站列表的大小是可变的,具体取决于用户的输入,所以我在下拉框中给出了 worstation 的名称。
我现在遇到的问题是无法在我的 VBScript 代码中检索选定的值。
如果我输入 listbox1.value
,我会在 return 中得到正确的值。
如果我像这样将列表框的名称放在变量中,它不起作用。
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>"
您不能将变量设置为字符串并期望该字符串的行为类似于您的 HTML 代码的元素。您需要获取名称或 ID 引用的元素。通常的方法是用这样的唯一 ID 定义要使用的元素:
<select id='uniquevalue' ...>
...
</select>
然后通过 getElementById()
:
Set listbox = document.getElementById("uniquevalue")
MsgBox listbox.value