填报时使用JS遍历某一列

请问如何使用JS在填报提交后进行类别列的遍历?

消息推送JS设置

image.png

原推送JS

if(A=="a")

{var myarray={"msgtype": "news","news": {"articles" : [{"title" : title,"description" : cont,"url" :url]}}

var json_myarray = JSON.stringify(myarray)

$.ajax({

    type: "POST",

    url: url2,

    data:json_myarray,

    header:{'Content-Type':'application/json'}

});

}

加入遍历后

var temp = "";

var arr = _g().getWidgetsByName("p1");

//获取扩展单选按钮组p1的控件对象数组

if (arr[0] != undefined) {

for (var i = 0; i < arr.length; i++) {

temp = temp + arr[i].getValue() + ' ';

//如果控件长度大于1,则遍历获取控件值并拼接

if(A=="a")

{var myarray={"msgtype": "news","news": {"articles" : [{"title" : title,"description" : cont,"url" :url]}}

var json_myarray = JSON.stringify(myarray)

$.ajax({

    type: "POST",

    url: url2,

    data:json_myarray,

    header:{'Content-Type':'application/json'}

});

}}

}

}

FineReport 帆软用户o8Hv4jPkHk 发布于 2022-6-13 15:45 (编辑于 2022-6-24 09:08)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
帆软用户o8Hv4jPkHkLv4见习互助
发布于2022-6-24 09:08

https://bbs.fanruan.com/wenda/question/123192.html

最佳回答
0
15922204585Lv6高级互助
发布于2022-6-13 15:48(编辑于 2022-6-13 17:04)

参考:JS获取扩展控件的所有值-https://help.fanruan.com/finereport/doc-view-2100.html

——————————————

image.png

var arr = _g().getWidgetsByName("p1");

//获取扩展单选按钮组p1的控件对象数组

if (arr[0] != undefined) {

for (var i = 0; i < arr.length; i++) {

var A = arr[i].getValue();

if(A=="阿胶")

{var myarray={"msgtype": "news","news": {"articles" : [{"title" : title,"description" : cont,"url" :url]}}

var json_myarray = JSON.stringify(myarray)

$.ajax({

    type: "POST",

    url: url2,

    data:json_myarray,

    header:{'Content-Type':'application/json'}

});

}}

}

}

  • 帆软用户o8Hv4jPkHk 帆软用户o8Hv4jPkHk(提问者) 有不要加控件的吗?我是在填报web属性里设置了消息推送JS,这个列表里不同的值对应了不同的推送内容。可以直接插入推送的JS里吗
    2022-06-13 15:59 
  • 15922204585 15922204585 回复 帆软用户o8Hv4jPkHk(提问者) 参考修改答案,试试
    2022-06-13 16:09 
  • 15922204585 15922204585 回复 帆软用户o8Hv4jPkHk(提问者) 或者参考下:JS实现循环遍历单元格-https://help.fanruan.com/finereport/doc-view-2418.html
    2022-06-13 16:10 
  • 帆软用户o8Hv4jPkHk 帆软用户o8Hv4jPkHk(提问者) 回复 15922204585 CustomJSError : Unexpected token \']\'报这个错,但是我看[]没有错吧,我不太熟悉写这个,我补充在问题里了,你可以再帮我看下吗?这个遍历单元格参考我看了....但我总是改不对...
    2022-06-13 16:40 
  • 15922204585 15922204585 回复 帆软用户o8Hv4jPkHk(提问者) 你跟我图片上不一样,看红框中的,测试不了不确定
    2022-06-13 16:44 
最佳回答
0
CD20160914Lv8专家互助
发布于2022-6-13 17:06

var temp = "";

var _obj = $(".x-table tr");

//_length是tr行数

var _length = _obj.length;

//如果你的数据是从第2行开始的。下面的i=1就直接用。如果你的数据是从第3行开始的就修改i=2就行了

for (var i = 1; i < _length; i++) {

    var _td = _obj.eq(i).find("td");

    temp = temp + _td.eq(1).text() + ',';//循环从第2行开始(js中从0开始的),固定只要第2列的值(1)为B列的数据

}

alert(temp);

  • 帆软用户o8Hv4jPkHk 帆软用户o8Hv4jPkHk(提问者) 请问怎么把我原来的判断插进去?我替换alert那部分就报错了
    2022-06-13 19:38 
  • CD20160914 CD20160914 回复 帆软用户o8Hv4jPkHk(提问者) 嵌入放在temp=tmpe+这一段。把这一段替换掉。你自己判断了。。_td.eq(1).text()是获取单元格的值。。
    2022-06-13 20:39 
  • 帆软用户o8Hv4jPkHk 帆软用户o8Hv4jPkHk(提问者) 回复 CD20160914 为什么要放在temp=tmpe+这一段?这里不是获取temp的值吗,我不应该把判断放后面吗
    2022-06-14 08:46 
  • CD20160914 CD20160914 回复 帆软用户o8Hv4jPkHk(提问者) 你自己测试就知道了呀。这一段只是为了测试弹出的内容。你就把你的判断加进来放在这里。如果不想替换。你就在它的下面继续增加的代码了。
    2022-06-14 08:53 
  • 帆软用户o8Hv4jPkHk 帆软用户o8Hv4jPkHk(提问者) 回复 CD20160914 我试了,放在后面它不报错,但是也不推送消息..所以我就在想怎么替换temp=tmpe+
    2022-06-14 08:56 
最佳回答
0
RedstarLv5初级互助
发布于2022-6-14 00:32
我就不正面回答你这个问题了,可以参考楼上继续排查错误解决就好了,我想说的是你这个推送是推送到哪里,如果是微信或者钉钉有以下两种方式比较简单,毕竟这种推送用的地方多,每次都这么搞,太累了,以下方式供参考 第一种:可以使用模板消息插件,这个比较方便,可以用在很多场景中 第二种:通过内置SQL提交,把消息数据存储到数据库,然后后台程序定时任务调用接口去发送这个消息数据到微信或者钉钉,这个应用起来也很简单,就是数据库插入一条数据
  • 帆软用户o8Hv4jPkHk 帆软用户o8Hv4jPkHk(提问者) 推送到企业微信群的,模板消息好像只能推送个人或者部门吧,我是想要不同的人不同部门的人在群里,然后都能看到这条消息。定时调度是不是定时推送消息?我这个是实时的哎
    2022-06-14 08:16 
  • Redstar Redstar 回复 帆软用户o8Hv4jPkHk(提问者) 后台每几秒就去查一下数据库有没有新消息,有就推送,没有过几秒再看,这个基本也能满足你的消息推送,再实时的消息不差这几秒
    2022-06-14 17:03 
  • 2关注人数
  • 706浏览人数
  • 最后回答于:2022-6-24 09:08
    请选择关闭问题的原因
    确定 取消
    返回顶部