Friday, August 22, 2014

25) How to disable textbox in Visual force page based on Picklist values

Sample code:

Visualforce page:

<apex:page controller="Sample">
<apex:form >
<apex:actionFunction name="changeBoolCall" action="{!changeBool}"/>
    <apex:pageblock id="pg">
        <apex:pageblockSection >
            <apex:pageblockSectionItem >
                Select currency :
            </apex:pageblockSectionItem>
            <apex:pageblockSectionItem >
               <apex:selectList value="{!curency}" size="1" multiselect="false">
                   <apex:selectOption itemLabel="--- None ---" itemValue="none"/>
                   <apex:selectOption itemLabel="Indian Rupee" itemValue="inr"/>
                   <apex:actionSupport event="onchange" action="{!changeBool}" reRender="pg"/>
               </apex:selectList>
            </apex:pageblockSectionItem>          
            <apex:pageblockSectionItem >
                Enter the amount:
            </apex:pageblockSectionItem>    
            <apex:pageblockSectionItem >
               <apex:inputtext value="{!amount}" disabled="{!curencyBool}"/>
            </apex:pageblockSectionItem>                  
        </apex:pageblockSection>
    </apex:pageblock>
</apex:form>  
</apex:page>

Apex Controller:

public class Sample
{
    public String curency {get;set;}
    public String amount {get;set;}
    public Boolean curencyBool {get;set;}
   
    public sample()
    {      
        curency = 'none';
        if(curency == 'none')
        {
         curencyBool = true;
        }  
    }
   
    public void changeBool()
    {      
        if(curency != 'none')
        {
            curencyBool = false;
        }
        else
        {
            curencyBool = true;
        }
    }
     
}

No comments: