Knowledge Base

How To Read the Selected Items in a SELECT Control

Article ID: 159757

Article Last Modified on 5/11/2006


APPLIES TO


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

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

REFERENCES

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

Additional query words: 1.00 kbdsi

Keywords: kbhowto KB159757