起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1099|回复: 1

[处理中3] list计算列如何使用回调函数的结果作为一列

[复制链接]

10

主题

18

帖子

72

积分

初级会员

Rank: 2

积分
72
QQ
发表于 2017-3-21 17:25:48 | 显示全部楼层 |阅读模式
list计算列如何使用回调函数结果作为一列,调用其他列作为参数:                  普通列 lng   lat ;
       计算列 address ----- 绑定 计算规则:$model.devAddress(  $row.val("lng"),  $row.val("lat")  )


        Model.prototype.devAddress = function(lng, lat){// address temperature weather
                var geocoder = new AMap.Geocoder({
                        radius : 1000,
                        extensions : "all"
                });
                var lnglat = [lng, lat];
                geocoder.getAddress(lnglat, function(status, result) {
                        if (status === 'complete' && result.info === 'OK') {
                                var address = result.regeocode.formattedAddress;
                                alert(address);          //可以alert一个个的address信息
                                return address;  
                        }
                });
        }  

回调函数可以alert一个个的address信息, 但是计算列中没有显示出对应的address. 请问哪里有问题,需要怎么设置?


发表于 2017-3-21 17:46:01 | 显示全部楼层
应该是在这个方法中 devAddress 这一层方法  return address;  


而不是回调方法中!!回调方法return 的结构怎么能赋值给计算列呢??

首先需求确定的是!!getAddress方法是异步还是同步的!如果是同步执行的!
在devAddress方法中定义一个变量 var var address = '';
然后在回调中!给这个变量赋值!  最后return 即可!


如果回调方法是异步的!建议试试将$row 传递进来!!然后直接row.val('address',address)  赋值即可!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-10-2 01:34 , Processed in 0.053610 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表