找文章 / 找答案
精选问答 更多内容

[常用脚本] 这个脚本有什么问题?

kkno15171青铜一 显示全部楼层 发表于 2023-9-22 15:35:38 |阅读模式 打印 上一主题 下一主题
5
未解决

【常用脚本】 这个脚本有什么问题?

1794 5
有这么一个场景:
页面A有下拉参数组件 a(对应的参数为 param['a']),页面B也有下拉参数组件a(对应的参数为 param['a'])
页面A会跳转页面B,并传递参数,但是页面A中的a的值域 不等于 页面B中的a的值域,在v10版本的永洪中,B页面的下拉参数组件就会显示为空,没有进行任何勾选。
因此,以下方法就想要去解决这个问题:
即,当传入的参数不在下拉参数的值域中时,让组件去选第一个值。


function downSelNoNull(ObjName,paramName)
{
    var contexts = ObjName.getObjects; // 获取下拉筛选框的值
    var temp = 0;
    var a = paramName; //参数值
        debug(contexts.length)
    for(var i=0;i<contexts.length;i++){
        if(a==contexts[i][0){
        temp = 1
        }
         if(temp==0){
        ObjName.setSelectedIndex(0)
        }
    }
}


downSelNoNull(a,param['a'])


但是在实际执行中,上面脚本中执行出来的debug(contexts.length)始终为0,想问题下脚本有什么问题。
或者怎么才能够让一个函数中的 contexts = ObjName.getObjects 同在函数外一样,从而for循环可以正常去遍历?


回复

使用道具 举报

精彩评论5

行走的蜗牛白银四 显示全部楼层 发表于 2023-9-22 16:30:54
B的下拉设置默认第一个值不起作用吗
回复

使用道具 举报

kkno15171青铜一 显示全部楼层 发表于 2023-9-22 16:38:00
行走的蜗牛 发表于 2023-9-22 16:30
B的下拉设置默认第一个值不起作用吗

不起。
永洪那里回复说是,
10版本参数传递的优先级是比选中第一个值的优先级高,当参数传递选不到值时,就把整个组件置为空了,也不会去执行默认第一个值。
回复

使用道具 举报

行走的蜗牛白银四 显示全部楼层 发表于 2023-9-22 16:44:29
kkno15171 发表于 2023-9-22 16:38
不起。
永洪那里回复说是,
10版本参数传递的优先级是比选中第一个值的优先级高,当参数传递选不到值时, ...

哦,可以试试在A增加一个过渡参数c,类似case when处理,然后B接收c参数
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-9-22 18:25:01
可以试试楼上的方法,是下拉列表参数吗
回复

使用道具 举报

sunlnlin123白银一 显示全部楼层 发表于 2023-9-27 09:35:15
可不可以在页面B加载时运行的脚本中,直接判断参数b是否为空,如果为空,执行setSelectedIndex(0),因为跳转打开,参数b为空就已经可以证明b中不存在a选中的值了。
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部