泛微OA_E9之check框选中计分


1、描述及效果

1.1 描述

例1:在主表实现勾选check框计分,满分10分,共10个check框,每勾选一个check框计1分。
例2:在主表实现勾选check框计分,满分10分,共7个check框,每勾选一个check框计(10/7)分。

1.2 效果

1.2.1 例1效果图

示例图1-1:

在这里插入图片描述

1.2.2 例2效果图

示例图1-2:

在这里插入图片描述


2、思路

使用JQurey “:checked”选择器,获取主表选取所有选中check框;每选中一个check框,check框“.length”值依次递增,取消选中也会依次递减,这样就能得到所选中check框的总数。

3、步骤

3.1 本次使用E9流程表单前端接口API介绍

具体《E9流程表单前端接口API》详情,请参考泛微官方文献,本篇只介绍需要用到的API。

3.1.1 表单字段值变化触发事件

字段值变化即会触发所绑定的函数,可多次绑定

bindFieldChangeEvent: function(fieldMarkStr,funobj)

参数说明

参数参数类型必须说明
fieldMarkStrString绑定字段标示,可多个拼接逗号隔开,例如:field110(主字段),field111_2(明细字段)……
funobjFunction字段值变化触发的自定义函数,函数默认传递以下三个参数,参数1:触发字段的DOM对象,参数2:触发字段的标示(field27555等),参数3:修改后的值

样例:

WfForm.bindFieldChangeEvent("field27555,field27556", function(obj,id,value){
    console.log("WfForm.bindFieldChangeEvent--",obj,id,value);
});

特别注意:

//如果字段绑定事件,事件内改变本字段的值,需要setTimeout延时下

WfForm.bindFieldChangeEvent("field111", function(obj,id,value){
    window.setTimeout(function(){
        WfForm.changeFieldValue("field111",{value:"修改本字段值需要延时"});
    }, 10);
    WfForm.changeFieldValue("field222",{value:"修改非本字段不需要延时"});
});

3.2 上代码

3.2.1 例1代码

WfForm.bindFieldChangeEvent("field35234,field35235,field35236,field35237,field35238,field35239,field35240,field35241,field35242,field35243", function(obj,id,value){
	var checkedNumber = $(":checked").length;//获取已选中check框
  	$("#field35244").val(checkedNumber);//将已选中check框“.length”赋值到“check框总分”
});

3.2.2 例2代码

WfForm.bindFieldChangeEvent("field35234,field35235,field35236,field35237,field35238,field35239,field35240", function(obj,id,value){
	var totalScore = 10 / 7;//声明变量值,总分为10分,共7个check框
	var checkedNumber = $(":checked").length;//获取已选中check框
	var checkedTotalScore = totalScore * checkedNumber;//计算分数
  	$("#field35244").val(checkedTotalScore );//将已选中check框“.length”赋值到“check框总分”
});

4、总结

JQurey “:checked”选择器,获取的是主表所有选中check框,这也就限制了此方法只适合用于像效果图这样的需求。如果主表中有着其他不需要计分的check框,或者有100个check框拆分成两个部分来单独计分,此方法就不能满足了。

有大神路过,望指点一二。

再会!

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DarsonYao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值