Visualforce中的命令按钮无法从动态下拉列表中读取所选项目

时间:2012-08-16 14:37:36

标签: salesforce visualforce

我正在寻找Visualforce(Salesforce)页面大师的帮助。

背景:有一个下拉列表(根据Visualforce页面,apex:selectList)。它的选择选项由jQuery构建,具有来自RemoteAction(在Controller中)的返回数据(以JSON格式)。

问题:当我单击将所选项目值发送到Controller的命令按钮时,它总是报告错误消息(j_id0:j_id2:j_id3:j_id4:orgList:验证错误:值无效)。

有什么想法?非常感谢。

特洛伊

Visualforce标记:

<apex:panelGrid columns="2">
<apex:selectList id="orgList" value="{!selected}"  size="1">
</apex:selectList>
<apex:commandButton value="Add" action="{!add}" style="width:80px">
</apex:panelGrid>

JavaScript的:

$j("input[id$='azc']").keyup(function(){
   var op = $j("select[id$=orgList]");
    if($j(this).val().length >= 6){
             op.empty().append('<option value=""></option>');
             OrgController.findOrgs($j(this).val(), function(result, event){
                  if(event.status){
                      var data =  $j.parseJSON('[' + result.replace(/'/g, '"') + ']');
                      $j.each(data, function(){
                          $j('<option />', {value: this['value'], text: this['label']}).appendTo(op);
                      }); 
                  }else{
                      alert(event.message);             
                  } 
              },{escape:true});
        } 

OrgController

public String selected { get; set; }
public PageReference add(){
    Customer__c customer =  findSelected(selected);
    if(customer != null){
      customer.Pending__c = 'Yes';
      update customer; 
    }
    return null;
}

0 个答案:

没有答案