I am using Page block table on visual force page and each row has radio buttons , i want to pass the value of each selected radio button , from each row on visual force page to apex Controller class.
For Now i am getting only one Value of last Row , I need Each Value of selected radio Buttons.
Visual Force Page
<apex:pageBlockTable value="{!SurveyQuestions}" var="sq">
<apex:column value="{!sq.Id}"/>
<apex:column value="{!sq.Name}"/>
<apex:column value="{!sq.QuestionID__r.Question__c}"/>
<apex:column value="{!sq.QuestionID__r.Id}" headerValue="Question ID"/>
<apex:column headerValue="HiddenQuestion Id">
<apex:inputHidden value="{!sq.QuestionID__r.Id}" id="HdnQuestionID"/>
</apex:column>
<apex:column headerValue="Question options">
<apex:selectRadio value="{!selectedAnswer}">
<apex:selectOptions value="{!items}"/>
</apex:selectRadio>
</apex:column>
</apex:pageBlockTable>
Apex Controller Class
public List<SelectOption> getItems() {
List<SelectOption> options = new List<SelectOption>();
options.add(new SelectOption('yes','Yes'));
options.add(new SelectOption('no','No'));
options.add(new SelectOption('Maybe','maybe'));
return options;
}
public PageReference SubmitSurvey() {
// Multiple Checkbox value Logic Goes Here
if(selectedAnswer == 'yes'){
//Inserting The Survey Result
tblSurveyResult__c SurveyResult = new tblSurveyResult__c(
Name = selectedAnswer,
Answer__c = 1
);
insert SurveyResult;
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'Survey Submitted Successfully'));
} else if (selectedAnswer == 'no'){
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,selectedAnswer));
} else {
ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'Please Select Atleast one value'));
}
return null;
}