我这样写主页面拿到值后给子页面名字为box控件的多选按钮赋值没效果是为啥?

// 主页面代码

var multiSelect = _g().getParameterContainer().getWidgetByName("类别ID");

var selectedValues = multiSelect.getValue();

// 将数组转为带分隔符的字符串(如逗号)

var paramStr = selectedValues.join(","); 

alert(paramStr);

// 跳转时传递参数(新增参数B)

FR.doHyperlinkByGet({

    url: "httpxxxxxxxx", 

    parameters: {B: paramStr} // 参数名B对应子页面接收参数

});

// 子页面初始化事件(需在「报表加载结束」或「控件初始化后」事件中添加)

setTimeout(function() {

    // 获取父页面传递的参数值{{JS实现钻取到子页面进行填报-3982.md}}

    var receivedValues = B.split(","); // 将逗号分隔的字符串转为数组

    

    // 获取所有名为box的复选按钮控件{{JS实现复选按钮控件全选和批量操作-1215.md}}

    var boxes11 = _g().getWidgetsByName("box");

    

    var configs = [];

    boxes11.forEach(function(box){

        var cr = FR.cellStr2ColumnRow(box.options.location);

        // 判断当前控件值是否在选中数组中

        var isChecked = receivedValues.includes(box.getValue()); 

        configs.push({

            reportIndex: 0,

            col: cr.col,

            row: cr.row,

            value: isChecked // true表示勾选,false不勾选

        });

    });

    _g().setCellsQuick(configs); // 批量设置单元格值

}, 300); // 添加延时确保控件加载完成

1745743663251.png

FineReport yzmiFMhw3943802 发布于 2025-4-27 16:47
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
LTC朝Lv6高级互助
发布于2025-4-27 17:29(编辑于 2025-4-27 17:30)

拼接完参数之后,alert打印一下,看看拼接的是否正确。

如果拼接的正确,在子页面参数栏中增加一个文本框,看看是否接收到的参数是什么格式,是否正常。

因为多选要注意拼接时的分隔符样式

  • yzmiFMhw3943802 yzmiFMhw3943802(提问者) 复选框按钮的值好像都是false true这种 没办法匹配对应传过来的筛选值进行勾选
    2025-04-28 10:00 
  • 2关注人数
  • 25浏览人数
  • 最后回答于:2025-4-27 17:30
    请选择关闭问题的原因
    确定 取消
    返回顶部