我有一个名为“cboCustomer”的组合框,有这个选项:
<option value ="CustomerID"> CustomerName </option>
我可以使用Request.form(cboCustomer)
返回组合框的值,即CustomerID
。
但是如何获得组合框的文字,CustomerName
?
答案 0 :(得分:1)
到目前为止,我无法理解您将所选选项的文本提供给服务器的要求。但是,还有另外一个要做的事情:
使用&#34; onchange&#34; JavaScript事件检测更改并触发JavaScript函数。 使用如下脚本:
var dropDownControl= document.getElementById("dropDownId");
var selectedText = dropDownControl.options[dropDownControl.selectedIndex].text;
document.getElementById("hiddenFieldId").value = selectedText;
现在,您将能够从服务器端获取值。
注意:MsgBox是客户端功能,从不在服务器端VB脚本中工作。
答案 1 :(得分:0)
根据我的理解,问题是标签文本不会在帖子后面发布到服务器上。
1。)然而,有一个解决方法,从ScriptingGuy1发布:Workaround
<SCRIPT LANGUAGE="VBScript">
Sub TestSub
For Each objOption in OptionChooser.Options
If objOption.Selected Then
Msgbox objOption.InnerText
End If
Next
End Sub
</SCRIPT>
<body>
<select size="1" name="OptionChooser" onChange="TestSub">
<option value="0"></option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
</body>
2.。)在我的特定情况下,我认为从Request.Form(cboCustomer)获取值可能会更好,它会吐出一个uniqueID,并使用存储过程调用数据库以获取相应的该CustomerID的CustomerName。在我看来,我认为这会让它更具可读性。不幸的是,我认为这可能会降低性能,但是由于我在实施上述代码时遇到了问题,因此考虑其他人是否遇到了解决方法问题,这是另一种解决方案。
如果我找到另一种解决方案,我会进行编辑,因为这两种解决方案都不像我想的那样直接。