How To Read the Selected Items in a SELECT Control

Last reviewed: November 26, 1996
Article ID: Q159757
The information in this article applies to:
  • Microsoft Visual Basic, Scripting Edition, versions 1.0, 1.1, 2.0

SUMMARY

This article demonstrates how to read what items are selected in a SELECT control on a Web page using Visual Basic Script. Many reference documents indicate that a SELECT control has a VALUE property. However, this is not true. The SELECT control does not have a VALUE property, but the items in the OPTIONS collection of the SELECT control do.

If you are not familiar with the SELECT control, it is similar to the ListBox control in Visual Basic.

MORE INFORMATION

In order to read what item(s) are selected in a SELECT control, you must loop through the elements, and then check if the current element is selected. If it is selected, then you can perform an action.

Use a text editor, such as Notepad.exe, to copy the following sample HTML code into an HTML file:

********* BEGIN Page1.HTM ******************* <HTML>

  <SCRIPT LANGUAGE="VBSCRIPT">
    Sub ShowVals
      Dim SelStr
      For i = 0 to Form1.myselect.length - 1
        If Form1.myselect.options(i).selected = 1 Then
          selstr = selstr & Form1.myselect.options(i).value & chr(10)
        End If
      Next
      MsgBox SelStr,,"Selected Item(s)"
    End Sub
  </SCRIPT>

  <BODY>
    <FORM NAME="Form1">
      <SELECT MULTIPLE NAME="MySelect">
        <OPTION VALUE="10">Option 1 (10)
        <OPTION VALUE="20">Option 2 (20)
        <OPTION VALUE="30">Option 3 (30)
      </SELECT>
      <BR>
      <INPUT TYPE=BUTTON onClick="ShowVals()" VALUE="Show Value(s)">
    </FORM>
  </BODY>
</HTML> ********* BEGIN End.HTM *******************

Program Flow

  1. The onClick event of the button on the page calls the ShowVals subroutine.

  2. The ShowVals subroutine creates a variable to hold the selected items (SelStr).

  3. The "Form1.myselect.length" variable represents the number of items in the list. The For loop uses this value to determine how many iterations it needs in the loop.

  4. In each iteration of the loop the program checks to see if the current item is selected.

  5. If the current item is selected, then its value is concatenated onto the string described in step 2. "Chr(10)" is also added to the string, and it evaluates to a carriage-return character for cosmetic purposes.

  6. A message box displays the string.

REFERENCES

For additional information, visit the Microsoft Site Builder Workshop at http://www.microsoft.com/workshop.


KBCategory: kbprg kbhowto
KBSubcategory: PrgCtrlsStd PrgSyntaxVBScript PrgObjMdlIE
Additional reference words: 1.00 1.10 2.00 kbdsi



THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 26, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.