关于设置下拉选项值的问题;
在网上看了很多资料。大部分都是说:
   Function callTestMethod6(){   
      testClass.testMethod6(callBackFortestMethod6);   
  }   
   Function callBackFortestMethod6(data){   
     //其中date接收方法的返回值   
  //对于JavaBean返回值,有两种方式处理   
             //不知道属性名称时,使用如下方法   
           for(var i=0;i<data.length;i++){   
    for(var property in data){   
                  alert("property:"+property);   
                  alert(property+":"+data[property]);   
               }   
   }   
//知道属性名称时,使用如下方法   
    for(var i=0;i<data.length;i++){   
               alert(data.username);   
               alert(data.password);   
     }   
    }  
而我自己的写的:
function getAlert(){
  var ss=document.forms[0].first;   
 var ssvalue = ss.options[ss.selectedIndex].value;
// alert(ssvalue);
 info.getSecondInfo(ssvalue,callbackfuns);
}function callbackfuns(data){
for(var i=0; i<data.length; i++){
         alert(data.vCode);
alert(data.vName);
}

}
弹出的都是undefine。  在dwr.xml文件中,我也转了。在java类中,我也通过system打印了出来了,就是前台不行为什么网上那么多人的资料统统都这样说行行行。我这问题的原因在哪里啊????

解决方案 »

  1.   

    页面DWRUtil.addOptions("studentId",data,"id","name");
      

  2.   

    DWR中用的对象的属性是要在DRW配置文件中定义的,不然不能用
      

  3.   

    data 后台过来是什么类型呀,我一般用 list 
    DWRUtil.romeAll("studentId");
    DWRUtil.addOptions("studentId",data,"id","name");
      

  4.   

    问题已解决,你们说的我都做了。最后自己发现,在那个bean中,我定义的属性是private String vCode;
    该属性的get方法是 public String getVCode(){} ;这里就要看清楚了,定义的属性 中 v是小写,get方法里面,跟在get后面的是大写的V。
    在我DWRUtil.addOptions("list",data,"vCode","vName");的时候,写的是小写,找不到这个属性,所以这样设置后,下拉里面还是没选项。它只认 getXXX和setXXX..............
    本来在一个bean中,只要有getXXX和setXXX就行了,前面的那些定义属性之类的不定义没关系。