You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现Repeating Grid行数随输入值自动调整的技术咨询

实现Repeating Grid行随输入数值自动增减的方案

核心思路

监听数值输入控件的变化,对比目标行数与当前网格行数,调用Orbeon内置API自动添加或删除行(包含已有数据的行)。

具体步骤

  • 添加数值控制控件
    在Form Builder中新增一个数值输入控件(比如命名为「目标行数」),用于输入需要的网格行数。

  • 配置触发动作与脚本
    选中这个数值控件,添加「值变化时」的触发动作,在动作中执行以下JavaScript脚本:

    // 替换为你的Repeating Grid实际ID
    const gridId = "your-grid-id";
    // 获取目标行数,默认值设为0
    const targetCount = parseInt(ORBEON.xforms.Document.getValue("目标行数")) || 0;
    // 获取当前网格已有的行数
    const currentCount = ORBEON.xforms.Document.getRepeatItems(gridId).length;
    
    // 根据目标数调整行数
    if (targetCount > currentCount) {
        // 不足则添加行
        for (let i = 0; i < targetCount - currentCount; i++) {
            ORBEON.xforms.Document.addRepeatItem(gridId);
        }
    } else if (targetCount < currentCount) {
        // 多余则从最后一行开始删除
        for (let i = currentCount - 1; i >= targetCount; i--) {
            ORBEON.xforms.Document.deleteRepeatItem(gridId, i);
        }
    }
    

    注意:脚本中的your-grid-id要替换成你实际使用的Repeating Grid的ID(可在Form Builder的控件设置面板中查看)。

  • 辅助设置
    可以给数值控件设置最小值(比如0),避免输入负数引发异常。

内容的提问来源于stack exchange,提问作者Pete Atkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 14:38:11