[ Team LiB ] |
Recipe 11.6 Detecting the Selected Menu Items11.6.1 ProblemYou want to get the user-selected value(s) from a menu. 11.6.2 SolutionUse getSelectedItem( ) (for both combo boxes and list boxes) or getSelectedItems( ) (for list boxes only). 11.6.3 DiscussionYou 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); } Typically, ActionScript developers use either getSelectedItem( ) or getSelectedItems( ) within the click handler for a form's Submit button: function onClick ( ) { var selectedVal = myListBox_lb.getSelectedItem( ).data; // Do something with data here. } submitBtn.setClickHandler("onClick"); |
[ Team LiB ] |