I am using HTML select tag within a pageblocktable in my VF page to display a wrapperclass list.
How can i pass the selected values into the wrapper class in the controller?
AND
How can preselect the options of the select with values from my wrapper class?
I know it would be easier for me to use the Apex:selectList but i wanted to use Select2 jquery plugin to get a nice look and feel.
<apex:pageblockTable value="{!selectedProducts}" var="s" id="QLIPBT">
<apex:column headerValue="Targeting" style="width:120px;">
<!-- <apex:inputField value="{!s.quotelineitemRec.Targetting__c}" style="width:100px" required="true" /> -->
<apex:inputHidden value="{!s.selectedTargetGroup}" />
<select multiple="multiple" name="Target" style ="width:120px;" onchange ="document.getElementById('{!$Component.hiddenTarget}').value = this.value; checkSelected();">
<apex:repeat value="{!s.TargetingOptions}" var="stage">
<option value="{!stage.value}">{!stage.label}</option>
</apex:repeat>
</select>
</apex:column>
</apex:pageblockTable>
Controller wrapperclass
public class selectedProductWrapper
{
public List<SelectOption> TargetingOptions {get; private set;}
public quoteLineItem quotelineitemRec {get; private set;}
public Id Pricebook2EntryId {get; private set;}
public String TargetGroup {get; private set;}
public String selectedTargetGroup {get; set;}
public string selTargeting {get; set;}
public selectedProductWrapper( quoteLineItem quotelineitemRec_v,String TargetGroup_v)
{
this.quotelineitemRec = quotelineitemRec_v;
this.Pricebook2EntryId = quotelineitemRec.PriceBookEntryId;
this.TargetGroup = TargetGroup_v;
TargetingOptions = new List<SelectOption>();
for(Group_Members__c gm : [SELECT name FROM Group_Members__c WHERE Product_Target_Group__c =:TargetGroup])
{
this.TargetingOptions.add(new Selectoption(gm.name,gm.name));
}
this.selectedTargetGroup = quotelineitemRec.Targetting__c;
system.debug('selected Options ' + TargetingOptions);
}
}
Best Answer
You can use:
i.e. make use of the HTML option selected attribute assuming you set
selTargeting
to the value you want selected in the wrapper class.