在layUI table的表格中添加下拉选框,并修改对应相应单元格的值

在layUI table的表格中添加下拉选框,并修改对应相应单元格的值_第1张图片
功能:在评审栏里选择下拉框里的优良差,对应的得分栏目里给出相应的分数

下面是看到上图由layUI做的table表格

    
<#if templateFactorsList??> <#list templateFactorsList as templateFactors> <#list templateFactors.targetList as target>
维度名称 指标名称 权重(%) 质量目标 实际数据 评审 得分 单位 分值上限 评分逻辑
${target.id!} ${templateFactors.factors_id!} ${templateFactors.factoryName!} ${target.target_name!} ${target.weight!} ${target.target!} ${target.practical!} ${target.score!} ${target.unit!} ${target.max_score!} ${target.description!} ${target.equation!}

1.做下拉选框需要注意:表头需要设置样式


    <#include "../common.ftl">
    

2.这里设置下拉选框,注意 script 里的 id=selectReview 要和 上面评审里面的 templet:’#selectReview’ 相等

<#-- 评审下拉框 -->

然后就是添加下拉选框的点击事件,这里需要注意 form.on(‘select(watch)’, function(data)里面的 watch, 要和上面的下拉选框的 lay-filter=“watch” 对应,要不点击选择下拉选框,触发不了点击事件

    $(function () {
        initGrid();
        layer.load(1);
        layui.use(['table','form'], function () {
            var table = layui.table;
            var form = layui.form;
            table.init('DataListTable', {
                limit:100,
                id:'DataListTable',
                done: function (res, curr, count) {
                    layuiRowspan(['weiduName', 'totalScore'], 1);//支持数组
                    layer.closeAll('loading');
                    //layuiRowspan("Area", 1, true);
                }

            });
            //添加评审栏下拉框点击事件(这里是添加点击事件)
            form.on('select(watch)', function(data){
                //获取下拉框选中的值
                var score = data.value;
                //获取下拉框对应行的分数单元格
                var scoreId =  $(data.elem).parent().parent().parent().find('[data-field="score"] div')
                //将下拉框选中的值赋给对应的分数栏
                scoreId.text(score);
                console.log(data);
            });
            table.on('edit(DataListTable)', function(obj){
                var field = obj.field
                var value = obj.value //得到修改后的值
                var data = obj.data //得到所在行所有键值
                var regPos = /^\d+(\.\d+)?$/; //非负浮点数
                var regNeg = /^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$/; //负浮点数
                if((!regPos.test(value)) && !regNeg.test(value)){
                    layer.msg("请输入纯数字")
                    return;
                }

                if(field=="practical"){
                    var x=trim(value);
                    var y=trim(data.target);
                    var scor=eval(trim(data.equation))
                    if(scor>trim(data.max_score)){
                        scor=parseFloat(data.max_score)
                    }
                    scor=scor<0?0:scor;
                    obj.update({
                        score:parseFloat(scor)
                    })
                }
                if(field=="score"){
                    if(parseFloat(value)>parseFloat(data.max_score)){
                        layer.msg("分值不应该大于上限")
                        return;
                    }
                }
            });
        });
    }

你可能感兴趣的:(在layUI table的表格中添加下拉选框,并修改对应相应单元格的值)