本帖最后由 MattHgh 于 2014-07-19 14:43:01 编辑

解决方案 »

  1.   

    function infoList(){
        var list = new Array();
        list=getDb();
         
        if(list.length>0){
            for(var i=0;i<list.length;i++){
                gongSi= list[i];
                alert(gongSi.name);//这样也不行,这里怎么取值?
            }   
        }
    }
      

  2.   

    可能是list里边没有添加值,我就代码简单模拟了一下:<!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8"/>
        <title>test</title>
    </head>
    <body>
    <script type="text/javascript">
        var gongSi = {
            uuid : "",
            name : ""
        };    function getDb() {
            var list = new Array();
            gongSi.uuid = '1';
            gongSi.name = 'Fields';
            list.push(gongSi)
            list.push({ uuid : '1', name : 'jikey'})
            list.push({ uuid : '2', name : 'jikey2'})
            return list;
        }    function infoList() {
            var list = new Array();
            list = getDb();        if (list.length > 0) {
                for (var i = 0; i < list.length; i++) {
                    alert(list[i].name);//出错,这里怎么取值?
                }
            }
        }    infoList()
    </script>
    </body>
    </html>
      

  3.   


    按你说的这个方法的确可以;
    我又检查了我的代码,增加了类型转换,ok了//最后的修改版本
    while(!rs.EOF){ 
             gongSi.uuid=String(rs.Fields("uuid"));//转换string
            gongSi.name=String(rs.Fields("name"));//转换string
            list.push(gongSi);
           rs.moveNext(); 
        }
    //放入数据没问题了,输出时遇到了问题
    function infoList(){
        var list = new Array();
        list=getDb();
         
        if(list.length>0){
            for(var i=0;i<list.length;i++){
                alert(list[i].name);//这里虽然能够正常输出了,但是却发现输出的值都一样,都最后push的那条数据,我在push时alert了,看了push进去的的数据没错
            }   
        }
    }
      

  4.   

    你看看你上面那个return 的list有没有值呀   谷歌调试一下