11.6. Detecting the Selected Menu Items

Problem

You want to get the user-selected value(s) from a menu.

Solution

Use getSelectedItem( ) (for both combo boxes and list boxes) or getSelectedItems( ) (for list boxes only).

Discussion

You can use the getSelectedItem( ) method to get the selected value from a menu. The method returns an object with a label and a data property, representing the user-selected menu item. The getSelectedItem( ) method works for both combo boxes and single-selection list boxes. If you use getSelectedItem( ) with a multiple-selection list box, it returns the last selected item in the list:

// Displays the label property of the selected item from a combo box.
trace(myComboBox_cb.getSelectedItem(  ).label);

// Displays the data property of the selected item from a combo box.
trace(myComboBox_cb.getSelectedItem(  ).data);

Generally, the label property is used for display purposes, while the data property is used to submit the form data to a server for further processing.

If implementing a list box that allows multiple selections at once (see Recipe 11.3), you should retrieve the selections using getSelectedItems( ), which returns an array of objects with label and data properties:

// Store the array of selected items in selectedItems.
selectedItems = myListBox_lb.getSelectedItems(  );

// Display the label and data properties of each element in the selectedItems array. for (var i = 0; i < selectedItems.length; i++) { trace(selectedItems[i].label); trace(selectedItems[i].data); ...

Get Actionscript Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.