Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

How To Read the Selected Items in a SELECT Control


View products that this article applies to.

This article was previously published under Q159757
1.00 1.10 2.00 WINDOWS kbprg kbhowto

↑ Back to the top


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.

↑ Back to the top


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 = True 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.

↑ Back to the top


References

For more information about developing Web-based solutions for Microsoft Internet Explorer, visit the following Microsoft Web sites:

↑ Back to the top


Keywords: KB159757, kbhowto

↑ Back to the top

Article Info
Article ID : 159757
Revision : 4
Created on : 5/11/2006
Published on : 5/11/2006
Exists online : False
Views : 216