大佬们帮助帮助。JS实现批传参,类似批量删除的功能,要怎么写。

现在的需求就是,我全选,然后或者选中部分行的数据,然后传这些选中的数据的ID到另外一个表里面去。要怎么写,跟批量打印数据那个案例差不多,但是需要有全选的按钮。image.png

FineReport 心冷致命灬 发布于 2022-4-9 17:51
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
数码天空Lv4初级互助
发布于2022-4-9 20:59

var arr = [];  //定义存放ID值的数组

//获取是否收款单选按钮状态值

var boxes = _g().getWidgetsByName("box");   //修改成自己的控件名称

//遍历复选框控件组

if (typeof(boxes[0]) != "undefined") {

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

       if (boxes[i].getValue() == true) {   //判断复选框是否被选中

           var row = FR.cellStr2ColumnRow(boxes[i].options.location).row;    //获取选中行的行号

           var col = 1;  //获取显示数据ID值的列号(修改成自己的列号)

           arr.push(_g().getCellValue(0, col, row));   //取ID单元格值依次放入数组

       }

    }

}

var id_str = arr.toString(); //将数组转成字符串便于通过超链接参数传递到另外一张表中

  • 心冷致命灬 心冷致命灬(提问者) 这个可以获取值,先在有个新问题,就是我这个值可能是 id_str这个参数 是‘7,8,9’ 这种 但是我传到数据库里面的话,调用存储过程,他不能作为参数,只是接收到第一个参数,所以我去做insert into select * from 表 where ID in (id_str)的时候,只能插入一条数据,这个要怎么解决啊?
    2022-04-11 00:13 
  • 心冷致命灬 心冷致命灬(提问者) 他插入的 可能就只是 inser into table select * from where id in(7,8,9) 但是只把7的那一条数据插入到了新表,但是JS里面好像又不能写INSERT 语句,所以不知道怎么弄了。
    2022-04-11 00:15 
  • 数码天空 数码天空 回复 心冷致命灬(提问者) 可以在接收id_str的文件里把接收到的值转成数组,再从数组里生成类似7,8,9的字串,也可以把接收到的值去单引号操作
    2022-04-11 17:43 
  • 心冷致命灬 心冷致命灬(提问者) 回复 数码天空 我在存储过程里面处理了一下 可以了
    2022-04-11 18:43 
最佳回答
0
心冷致命灬Lv4见习互助
发布于2022-4-9 18:01
大佬们 帮忙看看呗
  • @ @ 你要怎么传?点击按钮还是什么
    2022-04-09 18:12 
  • 心冷致命灬 心冷致命灬(提问者) 回复 @ 点击按钮也可以
    2022-04-09 18:14 
最佳回答
0
@Lv6资深互助
发布于2022-4-9 18:14
  • 心冷致命灬 心冷致命灬(提问者) 这个不行啊,他是把单元格传到数组里面,我需要的是值。传到另外表里面去
    2022-04-09 18:16 
最佳回答
0
if12138Lv6初级互助
发布于2022-4-9 19:47(编辑于 2022-4-9 19:47)
参考此方法
https://bbs.fanruan.com/thread-136155-1-1.html
  • if12138 if12138 https://bbs.fanruan.com/thread-136155-1-1.html
    2022-04-09 19:48 
  • 3关注人数
  • 367浏览人数
  • 最后回答于:2022-4-9 20:59
    请选择关闭问题的原因
    确定 取消
    返回顶部