当前位置: 首页 > news >正文

[泛微E9制作前端JS]多个Check框为一组,达成选择框的单选框功能,并实现必填功能即在用户提交或者保存时未选择组合中的值弹窗提醒

[泛微E9制作·前端JS]多个Check框为一组,达成选择框的单选框功能,并实现必填功能即在用户提交或者保存时未选择组合中的值弹窗提醒

1、特性背景

最近在跟用户沟通需求时,发现用户要求复选框的样式但是还要单选功能,现有的选择框字段无法满足需求,于是就用Check框+JS代码简单实现一下该功能。

2、展示效果

3、实现方法

//将字段名称转换成字段id
const check1 = WfForm.convertFieldNameToId("check1");
const check2 = WfForm.convertFieldNameToId("check2");
const check3 = WfForm.convertFieldNameToId("check3");
const check4 = WfForm.convertFieldNameToId("check4");
const check5 = WfForm.convertFieldNameToId("check5");
const check6 = WfForm.convertFieldNameToId("check6");
const check7 = WfForm.convertFieldNameToId("check7");
const check8 = WfForm.convertFieldNameToId("check8");
//将获取的字段id保存在数组中
const arrList = [check1, check2, check3, check4, check5, check6, check7, check8];
//表单字段值变化触发事件
WfForm.bindFieldChangeEvent(arrList.join(","), function (obj, id, value) {
changeFieldGroup(arrList, id, value);
});
//保存、提交按钮点击触发事件
WfForm.registerCheckEvent(WfForm.OPER_SAVE + "," + WfForm.OPER_SUBMIT, function (callback) {
if (!selectStatus(arrList)) {
alert("Check未选择!");
}
});
//改变字段组数据
function changeFieldGroup(arr, id, value) {
if (!Array.isArray(arr)) {
alert('系统错误,请联系管理员');
}
if (value == 1) {
//遍历所有未选择的check框赋值空
arr.filter(item => item !== id).forEach(function (element) {
WfForm.changeFieldValue(element, {value: ""});
});
//选择的check框
arr.filter(item => item === id).forEach(function (element) {
console.log("点击了:" + element + ",位于第" + arr.indexOf(element) + "个位置");
});
}
}
//判断check框组合中是否有选中的值,未选中 false,选中 true
function selectStatus(arr) {
return arr.some(item => WfForm.getFieldValue(item) == 1);
}

4、延伸应用

如果表单中有字段需根据Check框组合中选择的值控制其表明属性,可以自行在JS代码中添加相关代码,或者新建一个下拉框字段,在代码"选择的check框"中给下拉框字段赋值,再通过流程自带的高级设置-展示属性联动来控制显示属性。

http://www.sczhlp.com/news/12588/

相关文章:

  • 8.14 总结
  • 东北抗日联军汪雅臣
  • 牛 CDR3 单抗:结构特性与抗原识别
  • iOS 证书签名简述
  • 题解:P4145 上帝造题的七分钟 2 / 花神游历各国
  • 鸿蒙应用上架指南
  • 自己介绍
  • 科研绘图与统计分析软件 Prism 10 安装全流程
  • RoCE
  • python 装饰器介绍
  • Java缓存开源库Ehcache详解 - 教程
  • Mapped Statements collection already contains value for com.xxx.xxx.xxxx. please check URL
  • 2025牛客暑期多校训练营10
  • Oracle中的补充日志(supplemental log)
  • 恒常念诵愿文
  • Nextjs 在 windows 上的打包部署问题
  • PHP反序列化漏洞学习-POP链
  • pytest
  • Git创建本地远程仓和局域网远程仓
  • OI集训 Day30
  • 把时间当作朋友:知识获取的终极法则
  • Zephyr学习:3.DeviceTree学习
  • 如何让Typecho搭建的网站首页文章随机显示?各位大佬支支招!
  • 柯马弧焊机器人气流智能调节
  • IIS安装URL重写组件(URL Rewrite)
  • 13KB JavaScript太空射击游戏开发解析
  • 点分治与点分树 专题
  • 《白话机器学习的数学》-多项式回归与正则化
  • CatoiOS3.0权限系统设计
  • A,B,C计权声级测试说明