You need to sign in to do that
Don't have an account?
Robin Barnwell
Multiple apex:actionSupport event="onchange"
In my VisualForce page, if I have more than one apex:actionSupport event="onchange" then the event doesn't fire until a second input component is accessed. If there is one then it fires immdiately. If there anyway to make event fire everytime?
VF Code:
<apex:page controller="TextApex" >
<apex:form >
<apex:pageBlock >
<apex:selectRadio id="slctRd" dir="ltr" required="true" layout="pageDirection" value="{!selectedValue}" immediate="true">
<apex:actionSupport event="onchange" action="{!MethodOne}" reRender="test"/>
<apex:selectOptions id="selRdOptn" value="{!Options}"/>
</apex:selectRadio>
<apex:selectRadio id="slctRd1" dir="ltr" required="true" layout="pageDirection" value="{!selectedValue1}" immediate="true">
<apex:actionSupport event="onchange" action="{!MethodTwo}" reRender="test1"/>
<apex:selectOptions id="selRdOptn1" value="{!Options1}"/>
</apex:selectRadio>
<apex:outputText id="test" value="{!test}"></apex:outputText><br/>
<apex:outputText id="test1" value="{!test1}"></apex:outputText>
</apex:pageBlock>
</apex:form>
</apex:page>
Apex:
public class TextApex {
public String selectedValue {get; set;}
public List<SelectOption> Options {get; set;}
public String test {get;set;}
public String selectedValue1 {get; set;}
public List<SelectOption> Options1 {get; set;}
public String test1 {get;set;}
public TextApex() {
Options = new List<SelectOption>();
Options.add(new SelectOption('test1', 'test1'));
Options.add(new SelectOption('test2', 'test2'));
Options1 = new List<SelectOption>();
Options1.add(new SelectOption('test3', 'test3'));
Options1.add(new SelectOption('test4', 'test4'));
}
public void MethodOne() { test = 'Hello World' + selectedValue ; }
public void MethodTwo() { test1 = 'Hello World' + selectedValue1 ; }
}
VF Code:
<apex:page controller="TextApex" >
<apex:form >
<apex:pageBlock >
<apex:selectRadio id="slctRd" dir="ltr" required="true" layout="pageDirection" value="{!selectedValue}" immediate="true">
<apex:actionSupport event="onchange" action="{!MethodOne}" reRender="test"/>
<apex:selectOptions id="selRdOptn" value="{!Options}"/>
</apex:selectRadio>
<apex:selectRadio id="slctRd1" dir="ltr" required="true" layout="pageDirection" value="{!selectedValue1}" immediate="true">
<apex:actionSupport event="onchange" action="{!MethodTwo}" reRender="test1"/>
<apex:selectOptions id="selRdOptn1" value="{!Options1}"/>
</apex:selectRadio>
<apex:outputText id="test" value="{!test}"></apex:outputText><br/>
<apex:outputText id="test1" value="{!test1}"></apex:outputText>
</apex:pageBlock>
</apex:form>
</apex:page>
Apex:
public class TextApex {
public String selectedValue {get; set;}
public List<SelectOption> Options {get; set;}
public String test {get;set;}
public String selectedValue1 {get; set;}
public List<SelectOption> Options1 {get; set;}
public String test1 {get;set;}
public TextApex() {
Options = new List<SelectOption>();
Options.add(new SelectOption('test1', 'test1'));
Options.add(new SelectOption('test2', 'test2'));
Options1 = new List<SelectOption>();
Options1.add(new SelectOption('test3', 'test3'));
Options1.add(new SelectOption('test4', 'test4'));
}
public void MethodOne() { test = 'Hello World' + selectedValue ; }
public void MethodTwo() { test1 = 'Hello World' + selectedValue1 ; }
}
For this kind of problem, <apex:actionregion> is often the solution.
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_compref_actionRegion.htm
All Answers
For this kind of problem, <apex:actionregion> is often the solution.
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_compref_actionRegion.htm