找回密码
 注册成为天翎用户
查看: 2300|回复: 10

[楼主失联] 用户选择框多选取值问题

[复制链接]
陈洁 发表于 2021-10-18 16:01:18 | 显示全部楼层 |阅读模式
【浏览器类型】:Chrome
【联系方式-QQ】:961245425
【问题描述】:用户选择框多选时,根据多选的用户,通过SQL在t_user表中查找联系电话
  代码如下:
        (function(){
        var doc = getCurrentDocument();
        var ywdb = getItemValueAsString("ywdb");                println("业务代表id===" + ywdb);
        var docids = splitText(ywdb, ";") ;       

        for (var i = 0; i < docids.length; i++){
      if(docids != null){
          var value = "";       
          var sql = "SELECT '" + getDomainid() + "'AS DOMAINID , telephone as item_telephone FROM obpm2.t_user WHERE id='"+docids+"'";        println("sql===" + sql);
          var datas = queryBySQL(sql);                                                                       
          if (datas != null) {                               
               for (var iter = datas.iterator(); iter.hasNext(); ) {            
                      var data = iter.next();                                                                       
                      var telephone = data.getItemValueAsString("telephone");            println("联系方式===" + telephone);                                     
               }
          }       
          if(docids.length<=1){
                          value = telephone;    println("value1===" + value);
                    return value;
          }else{
                          value = telephone + ";";        println("value2===" + value);
                    return value;
          }
     }
   }
       
})()

多选用户时后台返回的值:


后台有循环获取到相应的值,但是前台显示的还是只有一个联系方式:


求助:代码错在哪里?如何达到选择多个用户时,返回相应的联系方式,每个联系方式之间用逗号分隔!




1、问题描述最好图文并茂,如有视频/脚本可直接放出,这样技术同事在处理该问题时效率更加高效哦~
2、如果该问题已得到解决,请在该帖子下回复\"已解决可结帖\"

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
cyb 发表于 2021-10-18 17:22:00 | 显示全部楼层
你好,你尝试一下在用户选择框中选择局部刷新,局部刷新选择号码框,然后号码框勾选重计算,把什么的脚本放到值里面 看看可不可以
回复

使用道具 举报

 楼主| 陈洁 发表于 2021-10-18 18:06:31 | 显示全部楼层
我就是这样子设置哒  不行啊~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

cyb 发表于 2021-10-18 19:31:05 | 显示全部楼层
你用我这个脚本试一下

(function(){
        var doc = getCurrentDocument();
        var ywdb = getItemValueAsString("ywdb");                println("业务代表id===" + ywdb);
        var docids = splitText(ywdb, ";") ;      

        for (var i = 0; i < docids.length; i++){
      if(docids != null){
          var value = "";      
          var sql = "SELECT '" + getDomainid() + "'AS DOMAINID , telephone as item_telephone FROM obpm2.t_user WHERE id='"+docids+"'";        println("sql===" + sql);
          var datas = queryBySQL(sql);                                                                       
          if (datas != null) {                              
               for (var iter = datas.iterator(); iter.hasNext(); ) {            
                      var data = iter.next();                                                                       
                      var telephone = data.getItemValueAsString("telephone");            println("联系方式===" + telephone);                                    
               }
          }      
          if(docids.length<=1){
                          value = telephone;    println("value1===" + value);
                    return value;
          }else{
                          value = value + telephone + ";";        println("value2===" + value);
                    return value;
          }
     }
   }
      
})()
回复

使用道具 举报

 楼主| 陈洁 发表于 2021-10-19 10:03:48 | 显示全部楼层
还是不行! 返回的值是:undefined;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

cyb 发表于 2021-10-19 17:56:47 | 显示全部楼层
我看您的代码,应该就缺失把循环到的电话号码的值给累加拼接起来,您用原来的代码能获取到原来的值吗?
回复

使用道具 举报

 楼主| 陈洁 发表于 2021-10-20 11:33:33 | 显示全部楼层
使用原来的代码后台可以打印出循环的值 但是前端输出的值却只有一个!就是输出的值没有累加,但是不知道要怎么修改

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册成为天翎用户

×
回复

使用道具 举报

cyb 发表于 2021-10-20 13:51:42 | 显示全部楼层
(function () {
        var doc = getCurrentDocument();
        var ywdb = getItemValueAsString("ywdb"); println("业务代表id===" + ywdb);
        var docids = splitText(ywdb, ";");
        var value2=""

        for (var i = 0; i < docids.length; i++) {
            if (docids != null) {
                var value = "";
                var sql = "SELECT '" + getDomainid() + "'AS DOMAINID , telephone as item_telephone FROM obpm2.t_user WHERE id='" + docids + "'"; println("sql===" + sql);
                var datas = queryBySQL(sql);
                if (datas != null) {
                    for (var iter = datas.iterator(); iter.hasNext();) {
                        var data = iter.next();
                        var telephone = data.getItemValueAsString("telephone"); println("联系方式===" + telephone);
                        value2=value+telephone+';';
                        println("累计的值===" + value2)
                    }
                }
                if (docids.length <= 1) {
                    value = telephone; println("value1===" + value);
                    return value;
                } else {
                    value = telephone + ";"; println("value2===" + value);
                    return value;
                }
            }
        }

    })()
你看看这样能不能存储累计的值
回复

使用道具 举报

lillian828 发表于 2021-10-22 17:40:45 | 显示全部楼层
您好,请问此问题是否解决呢?
回复

使用道具 举报

 楼主| 陈洁 发表于 2021-10-25 10:48:59 | 显示全部楼层
还没有解决!
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-14 18:26

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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