HOWTO: How To Read the Selected Items in a SELECT Control

ID: Q159757

1.00 1.10 2.00 WINDOWS kbprg kbhowto
The information in this article applies to:


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>
      
      <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 more information, please see the MSDN Web Workshop:

http://msdn.microsoft.com/workshop/default.asp

Additional query words: 1.00 kbdsi


Keywords          : PrgCtrlsStd PrgObjMdlIE PrgSyntaxVBScript 
Version           : WINDOWS:1.1,2.0
Platform          : WINDOWS 
Issue type        : kbhowto 

Last Reviewed: July 23, 1999