开发者社区> 问答> 正文

关于CHECKBOX的多选问题

怎么样才能让宜搭里把A表里的已选自动同步到B表

通过表单关联获取到A表里的已选择选项,在B表单里自动把交集部分勾选起来,需要如何用代码实现。

展开
收起
游客qc6otdh7i3y4g 2023-04-03 23:54:54 188 0
2 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在阿里云宜搭中,要实现将A表中的已选自动同步到B表中,并在B表单中自动勾选交集部分,可以考虑以下步骤:

    1、在A表中添加一个字段,用于标记已选的选项。例如,可以添加一个名为"selected"的字段,用于记录已选选项的ID。

    2、在B表中添加一个字段,用于记录已选选项的ID。例如,可以添加一个名为"selected"的字段。

    3、在B表单中使用表单关联功能,将B表与A表关联起来。在关联设置中,将"selected"字段作为关联字段。

    4、在B表单的JS脚本中,使用代码实现自动勾选交集部分的功能。具体实现方式如下:

    // 获取A表中已选的选项ID
    var selectedIds = [];
    var aTable = app.tableMgr.getTableByName("A表");
    var aRecords = aTable.getRecords();
    for (var i = 0; i < aRecords.length; i++) {
      if (aRecords[i].getFieldValue("selected")) {
        selectedIds.push(aRecords[i].getId());
      }
    }
    
    // 获取B表中的选项
    var bTable = app.tableMgr.getTableByName("B表");
    var bRecords = bTable.getRecords();
    
    // 遍历B表中的选项,如果其ID在A表中已选的选项ID列表中,则勾选该选项
    for (var i = 0; i < bRecords.length; i++) {
      var bId = bRecords[i].getId();
      if (selectedIds.indexOf(bId) >= 0) {
        bRecords[i].setFieldValue("selected", true);
      }
    }
    

    通过以上步骤和代码实现,即可实现将A表中的已选自动同步到B表中,并在B表单中自动勾选交集部分的功能。

    2023-04-24 18:34:23
    赞同 展开评论 打赏
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。

    可以用宜搭的集成&自动化功能来实现,方案:A表创建表单事件>触发事件(编辑成功)>添加数据节点(从B表中获取需要更新的数据)>更新数据(更新获取的数据)。

    2023-04-04 08:39:43
    赞同 1 展开评论 打赏
问答分类:
问答地址:
关联地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载