function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Waqas AliWaqas Ali 

How to get Selected Value from PickList in VF page ?

I want to show all active contracts in VF page and want to change their status either "Expired" or "Lapse" in VF. 
Here is my VF page
<apex:page standardController="Opportunity"
  <apex:form >

<apex:pageBlock title="My Active Contracts" > 
        <apex:pageBlockTable value="{!records}"  var="wrapper"> 
             <apex:column > 
                <apex:facet name="header">Contract Number</apex:facet> 
                <apex:outputText value="{!wrapper.con.ContractNumber}"/> 
            <apex:column > 
                <apex:facet name="header">Contract ID</apex:facet> 
                <apex:outputText value="{!}"/> 
            <apex:column > 
                <apex:facet name="header">Change Status</apex:facet> 
                <apex:selectList value="{!wrapper.selectedValue}" size="1" onchange="changeStatus()" >
                            <apex:selectOptions value="{!wrapper.options}" />  
  <apex:commandButton action="{!back}" value="Save!" />

Here is my class
public class Opp2Order {
    String theId = ApexPages.currentPage().getParameters().get('id');
    public List<WrapperSObject> records {get; set;}
    public Contract con {get; set;}
    public String selectedValue {get; set;}
   public Opp2Order(ApexPages.StandardController stdController) {
        this.o = (Opportunity)stdController.getRecord();
    public PageReference autoRun() {
  records = new List<WrapperSObject>();
 for (Contract c : [select id, Name, AccountId, StartDate, Status, ContractNumber from Contract where Status='Activated'])
 records.add(new WrapperSObject(c, getOptions(), 'Activated'));

             return null;         

 public PageReference back() {
  // How to here update the status of all contracts 
 public void changeStatus()
    // in back() method or in this method ? I am confused

public class WrapperSObject {
public Contract con {get; set;}
 public List < SelectOption > options {get; set;}
        public String selectedValue {get; set;}
    public WrapperSObject( Contract c,List < SelectOption > options, String selectedValue) {
     this.options = options;
     this.selectedValue = selectedValue;

public List < SelectOption > getOptions() {
List<SelectOption> options = new List<SelectOption>();
        options.add(new SelectOption('Activated','Activated'));
        options.add(new SelectOption('Expired','Expired'));
        options.add(new SelectOption('LAPSE','Lapse'));
        return options;

I want to update the status of all contracts according to selection in VF page. How to get selected value from VF pick list and how to use in Apex class. 

I am confused wether i can pick selected value and update contract status in Onchange() method or in back() method i should update the status of all contracts. How i am supposed to do that. I am stucked badly. Guy's help.  
NagaNaga (Salesforce Developers) 
Hi Waqas,

Please see the sample code below

User-added image

Best Regards
Naga Kiran