VF page CODE :-
<apex:page controller="custcon" tabStyle="Account" >
<apex:form >
<apex:selectList required="true" multiselect="false" size="1" label="Type" value="{!selectedValue}" >
<apex:selectOptions value="{!P1}"/>
<apex:actionSupport event="onchange" reRender="a"/>
</apex:selectList>
<apex:selectList required="true" multiselect="false" size="1" label="Type" id="a">
<apex:selectOptions value="{!P2}"/>
</apex:selectList>
</apex:form>
</apex:page>
--------------------------------controller code
public with sharing class custcon {
public String selectedValue{get;set;}
public String selectedP2{get;set;}
public Boolean ShowP2;
public custcon(){
System.debug('~~~~~~~~~~~~selectedValue in controller~~~~~~~~~~~~~~~~ '+selectedValue);
}
//get first picklist value
public List<SelectOption> getP1(){
System.debug('~~~~~~~~~~~~selectedValue in getP1~~~~~~~~~~~~~~~~ '+selectedValue);
List<SelectOption> options = new List<SelectOption>();
options.add( new SelectOption('None','--None--'));
options.add(new SelectOption('A','A'));
options.add( new SelectOption('B','B'));
return options;
}
public void setP1(String s){
this.selectedValue = s;
System.debug('~~~~~~~~~~~~setP1~~~~~~~~~~~~~~~~ '+s);
System.debug('~~~~~~~~~~~~selectedValue in setP1~~~~~~~~~~~~~~~~ '+selectedValue);
// this.ShowP2= true;
}
//Child Picklist Value
public List<SelectOption> getP2(){
System.debug('~~~~~~~~~~~~GETP2~~~~~~~~~~~~~~~~ '+selectedValue);
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('None','--None--'));
if(selectedValue == 'A') {
options.add(new SelectOption('aa','aa'));
options.add(new SelectOption('aaa','aaa'));
}
else
if(selectedValue == 'B'){
options.add(new SelectOption('bb','bb'));
options.add(new SelectOption('bbb','bbb'));
}
return options;
}
public void setP2(String s){
this.selectedP2 =s;
// this.ShowP2= true;
}
}
<apex:page controller="custcon" tabStyle="Account" >
<apex:form >
<apex:selectList required="true" multiselect="false" size="1" label="Type" value="{!selectedValue}" >
<apex:selectOptions value="{!P1}"/>
<apex:actionSupport event="onchange" reRender="a"/>
</apex:selectList>
<apex:selectList required="true" multiselect="false" size="1" label="Type" id="a">
<apex:selectOptions value="{!P2}"/>
</apex:selectList>
</apex:form>
</apex:page>
--------------------------------controller code
public with sharing class custcon {
public String selectedValue{get;set;}
public String selectedP2{get;set;}
public Boolean ShowP2;
public custcon(){
System.debug('~~~~~~~~~~~~selectedValue in controller~~~~~~~~~~~~~~~~ '+selectedValue);
}
//get first picklist value
public List<SelectOption> getP1(){
System.debug('~~~~~~~~~~~~selectedValue in getP1~~~~~~~~~~~~~~~~ '+selectedValue);
List<SelectOption> options = new List<SelectOption>();
options.add( new SelectOption('None','--None--'));
options.add(new SelectOption('A','A'));
options.add( new SelectOption('B','B'));
return options;
}
public void setP1(String s){
this.selectedValue = s;
System.debug('~~~~~~~~~~~~setP1~~~~~~~~~~~~~~~~ '+s);
System.debug('~~~~~~~~~~~~selectedValue in setP1~~~~~~~~~~~~~~~~ '+selectedValue);
// this.ShowP2= true;
}
//Child Picklist Value
public List<SelectOption> getP2(){
System.debug('~~~~~~~~~~~~GETP2~~~~~~~~~~~~~~~~ '+selectedValue);
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('None','--None--'));
if(selectedValue == 'A') {
options.add(new SelectOption('aa','aa'));
options.add(new SelectOption('aaa','aaa'));
}
else
if(selectedValue == 'B'){
options.add(new SelectOption('bb','bb'));
options.add(new SelectOption('bbb','bbb'));
}
return options;
}
public void setP2(String s){
this.selectedP2 =s;
// this.ShowP2= true;
}
}