当我试图通过单击命令按钮从inputText值中获取所选的值时,实际上并不是将它们传递给我的控制器。
VF:
<apex:page controller="FieldsAndTypesPicklists" >
<apex:form >
<apex:inputText value="{!newDatasetName}" />
<apex:outputlabel value="Product type: "/>
<apex:selectList value="{!selectedTypeProd}" size="1">
<apex:selectOptions value="{!TypesProduct}"/>
</apex:selectList>
<apex:commandButton value="Add new values" action="{!SaveValues}" />
</apex:form>
</apex:page>主计长:
public with sharing class FieldsAndTypesPicklists {
public String selectedTypeProd {get; set;}
public String newDatasetName { get; set; }
public void SaveValues() {
System.debug('>>> InputText value: '+newDatasetName);
}
public Set<SelectOption> getTypesProduct(){
System.debug('>>> Select Type value: '+selectedTypeProd);
Set<SelectOption> typesProd = new Set<SelectOption>();
List<Schema.PicklistEntry> picklistEntryList = OpportunityLineItem.TypeProduct__c.getDescribe().getPicklistValues();
for(Schema.PicklistEntry plEntry : picklistEntryList){
String typeProduct = string.ValueOf(plEntry.getValue());
typesProd.add(new SelectOption(typeProduct, typeProduct));
}
return typesProd;
}
}我已经进行了相应的调试,以查看inputText和选中的选择列表值。
如果我取出代码段,其中是选定的列表(在VF上)和控制器中的getTypesProduct()方法,那么它对inputText值工作得很好。似乎另一部分影响了执行。
发布于 2015-07-20 06:05:49
您可以将TypesProduct作为一组字符串。所以它会奏效的。
发布于 2016-02-17 00:54:37
我面临着同样的问题,并通过添加multiselect="false"使其工作起来。
将代码更改为
<apex:selectList value="{!selectedTypeProd}" size="1">至
<apex:selectList value="{!selectedTypeProd}" size="1" multiselect="false">https://stackoverflow.com/questions/31351723
复制相似问题