easyUI的格式化formatter无法遍历怎么么办,两处打印也不一样
function formatNewsType(value,row,index) {
    var data={};
    var data1='';
    var myArray=new Array();
    $.ajax({
        url : headUrl+'/admin/type/getTypeListAll',
        xhrFields: {
            withCredentials: true
        },
        data : JSON.stringify(data),
        type : 'post',
        contentType:'application/json;charset=UTF-8',
        dataType : 'json',
        success : function(result) {
            if (result.code == 1) {
                $.messager.alert('操作提示', result.message, 'info');
            } else {
                data1=result.content.content;
                for(var i=0;i<data1.length;i++)
                {
                    if(data1[i].typeNum==value){
                        myArray.push(data1[i].typeName);
                        console.log(myArray)//第一处打印
                    }
                }
            }
        },
        error : function(e) {
            alert("通信失败!");
        }
    });
    console.log(myArray)//第二处打印(不一样)
        for(var i=0;i<myArray.length;i++)//(不执行)
        {
             return myArray;//(循环了很多次不知为什么)
        }



};

把循环去掉直接写返回myArray也不行,在ajax里返回也不行。循环也不执行

2个回答

问问题要学会问,首先两次不一样,你倒是把两次结果发出来。
第二:

                for(var i=0;i<data1.length;i++)
                {
                    if(data1[i].typeNum==value){
                        myArray.push(data1[i].typeName);     //你判断的是type,输出的是typeName然后插进Array.pu,先不考虑是不是为空,你在循环里打印日志和最后打印日志肯定不同,除非只有一条数据。
                        console.log(myArray)//第一处打印
                    }
                }

第三:

        console.log(myArray)//第二处打印(不一样)   这里输出什么?有数据吗? 没有数据下面循环走不下去。
       for(var i=0;i<myArray.length;i++)//(不执行)  
        {
             return myArray;//(循环了很多次不知为什么)
        }
qq_23126581
渊渟无迹静涛君 回复卢本伟NB: 解决就好
9 个月之前 回复
qq_37244670
卢本伟NB 谢谢问题解决了,我把ajax写成同步的了
9 个月之前 回复
qq_37244670
卢本伟NB 您说的第三myArray没有数据,怎么才能让myArray有数据
9 个月之前 回复

不执行,说明数组中没有数据哦。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问