筛选控件限制问题

一个筛选控件中如何实现选择不能超过3个,且不能少于1个

例如:姓名筛选控件,最多选择3个姓名,不能超过3个,且必须选择1个姓名

FineReport 十三SSan 发布于 2025-5-21 10:49 (编辑于 2025-5-21 11:00)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2025-5-21 10:50(编辑于 2025-5-21 10:53)
最佳回答
0
Z4u3z1Lv6专家互助
发布于2025-5-21 10:51
最佳回答
0
FR-LeonLv4初级互助
发布于2025-5-21 13:51
一、基础配置步骤
  1. 添加下拉复选框控件

    • 控件名设置为姓名(与数据集参数名一致)

    • 数据字典类型选择自定义,设置实际值与显示值下拉复选框配置

  2. 设置返回值类型

    • 选择字符串类型

    • 分隔符建议设置为英文逗号(便于后续JS处理)返回值设置

二、JS校验代码

// 控件编辑后事件

this.setValueListener(function(){

var selectedValues = this.getValue(); // 获取选中值

var count = selectedValues.split(',').filter(Boolean).length;



if(count > 3) {

alert("最多选择3个姓名!");

this.setValue(''); // 清空选择

}

});



// 提交校验(确保至少选1个)

if(this.getValue() === '' || this.getValue().split(',').filter(Boolean).length < 1) {

return "请至少选择1个姓名!";

}
三、补充说明
  1. 多选限制原理

    • 通过split()方法统计选中项数量

    • filter(Boolean)可排除空值干扰

  2. 移动端适配

    • 此方案不支持移动端(需改用其他控件)

提示:若需要更复杂的校验逻辑(如动态禁用选项),可结合this.options属性实现。完整配置效果参考:多选限制示例

  • 3关注人数
  • 44浏览人数
  • 最后回答于:2025-5-21 13:51
    请选择关闭问题的原因
    确定 取消
    返回顶部