SelectOption Class

A SelectOption object specifies one of the possible values for a Visualforce selectCheckboxes, selectList, or selectRadio component. It consists of a label that is displayed to the end user, and a value that is returned to the controller if the option is selected. A SelectOption can also be displayed in a disabled state, so that a user cannot select it as an option, but can still view it.

Instantiation

In a custom controller or controller extension, you can instantiate a SelectOption in one of the following ways:

Methods

The SelectOption methods are all called by and operate on a particular instance of SelectOption.

The table below describes the instance methods for SelectOption.

Name Arguments Return Type Description
getDisabled Boolean Returns the current value of the SelectOption object's isDisabled attribute. If isDisabled is set to true, the user can view the option, but cannot select it. If isDisabled is set to false, the user can both view and select the option.
getEscapeItem Boolean Returns the current value of the SelectOption object's itemEscaped attribute. If itemEscaped is set to true, sensitive HTML and XML characters are escaped in the HTML output generated by this component. If itemEscaped is set to false, items are rendered as written.
getLabel String Returns the option label that is displayed to the user.
getValue String Returns the option value that is returned to the controller if a user selects the option.
setDisabled Boolean isDisabled Void Sets the value of the SelectOption object's isDisabled attribute. If isDisabled is set to true, the user can view the option, but cannot select it. If isDisabled is set to false, the user can both view and select the option.
setEscapeItem Boolean itemsEscaped Void Sets the value of the SelectOption object's itemEscaped attribute. If itemEscaped is set to true, sensitive HTML and XML characters are escaped in the HTML output generated by this component. If itemEscaped is set to false, items are rendered as written.
setLabel String l Void Sets the value of the option label that is displayed to the user.
setValue String v Void Sets the value of the option value that is returned to the controller if a user selects the option.

Example

The following example shows how a list of SelectOptions objects can be used to provide possible values for a selectCheckboxes component on a Visualforce page. In the following custom controller, the getItems method defines and returns the list of possible SelectOption objects:

public class sampleCon {

 	String[] countries = new String[]{};

 	public PageReference test() {
 	 	return null;
 	}

 	public List<SelectOption> getItems() {
 	 	List<SelectOption> options = new List<SelectOption>();
 	 	options.add(new SelectOption('US','US'));
 	 	options.add(new SelectOption('CANADA','Canada'));
 	 	options.add(new SelectOption('MEXICO','Mexico'));
 	 	return options;
  	}

 	public String[] getCountries() {
  	 	return countries;
 	}

 	public void setCountries(String[] countries) {
 	 	this.countries = countries;
 	}

}		

In the following page markup, the <apex:selectOptions> tag uses the getItems method from the controller above to retrieve the list of possible values. Because <apex:selectOptions> is a child of the <apex:selectCheckboxes> tag, the options are displayed as checkboxes:

<apex:page controller="sampleCon">
 	<apex:form>
 	 	<apex:selectCheckboxes value="{!countries}">
 	 	 	<apex:selectOptions value="{!items}"/>
 	 	</apex:selectCheckboxes><br/>
 	 	<apex:commandButton value="Test" action="{!test}" rerender="out" status="status"/>
 	</apex:form>
 	<apex:outputPanel id="out">
 	 	<apex:actionstatus id="status" startText="testing...">
 	 	 	<apex:facet name="stop">
 	 	 	 	<apex:outputPanel>
 	 	 	 	 	<p>You have selected:</p>
 	 	 	 	 	<apex:dataList value="{!countries}" var="c">{!c}</apex:dataList>
 	 	 	 	</apex:outputPanel>
 	 	 	</apex:facet>
 	 	</apex:actionstatus>
 	</apex:outputPanel>
</apex:page>		
© Copyright 2000–2012 salesforce.com, inc. All rights reserved.
Various trademarks held by their respective owners.