LayUI动态设置checkbox不显示的问题

1.页面引入layui.js和layui.css

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>手机银行权限配置</title>
    <link type="text/css" rel="stylesheet" href="common/layui/css/layui.css"/>
    <link type="text/css" rel="stylesheet" href="css/index.css"/>
    <link rel="shortcut icon" href="images/favicon.ico" />
</head>
<body>
<br>
<h1 align="center">新版手机银行权限动态配置</h1>
<br>
<div class="layui-form" style="width:60%;margin: 0 auto;">

    <div class="layui-form-item" style="display: inline-block;">
        <label class="layui-form-label">交易类型</label>
        <div class="layui-input-block">
            <select name="TransactionType" lay-search id="TransactionType"lay-filter="type">
                <option value="InlineTransfer">行内转账交易</option>
                <option value="InlineBookTransfer">行内预约转账</option>
                <option value="SavToSavAuthPwd">行内同名转账</option>
                <option value="IntercityTransfer">跨行转账交易</option>
                <option value="IntercityBookTransfer">跨行预约转账</option>
                <option value="WeiXinTransfer">微信转账交易</option>
            </select>
        </div>
    </div>

    <div class="layui-form-item" style="display: inline-block;">
        <label class="layui-form-label">要配置的注册类型</label>
        <div class="layui-input-block">
            <select name="RegisterType" lay-search id="RegisterType" lay-filter="type">
                <option value="T">T</option>
                <option value="S">S</option>
                <option value="R">R</option>
            </select>
        </div>
    </div>
    <button class="layui-btn" style="display: inline-block;" onclick="info()">开始配置</button>
</div>
<div style="width:60%;margin:0 auto;border: 1px solid #ccc;border-radius: 10px;">
    <form class="layui-form" style="width:500px !important;margin:0 auto; " action="update" id="updateForm"
          method="post">
        <input type="hidden" name="TransactionType" id="TransactionType2"/>
        <input type="hidden" name="RegisterType" id="RegisterType2"/>

        <br>
        <h2>默认规则</h2>
        <hr>
        <div class="layui-form-item">
            <label class="layui-form-label">支持的账户注册类型</label>
            <div class="layui-input-block">
                <input type="checkbox" name="RegisterFlag" title="T类" value="T" >
                <input type="checkbox" name="RegisterFlag" title="S类" value="S" >
                <input type="checkbox" name="RegisterFlag" title="R类" value="R" >
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">支持的最小版本号</label>
            <div class="layui-input-block">
                <input type="text" name="MinVersion" required lay-verify="required" placeholder="请输入支持的最小版本号"
                       id="MinVersion"
                       autocomplete="off" class="layui-input">
            </div>
        </div>

        <br>
        <h2>静态规则</h2>
        <hr>
        <div class="layui-form-item">
            <label class="layui-form-label">人脸识别</label>
            <div class="layui-input-block">
                <select name="NeedFaceCheck" lay-search id="NeedFaceCheck">
                    <option value="0">不需要</option>
                    <option value="1">需要</option>
                </select>
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">短信验证码</label>
            <div class="layui-input-block">
                <select id="NeedOtpCheck" name="NeedOtpCheck" lay-search>
                    <option value="0">不需要</option>
                    <option value="1">需要</option>
                    <option value="2">免短信</option>
                </select>
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">交易密码</label>
            <div class="layui-input-block">
                <select name="NeedTrsPwdCheck" id="NeedTrsPwdCheck"lay-search>
                    <option value="0">不需要</option>
                    <option value="1">需要</option>
                    <option value="2">免密</option>
                </select>
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">支持的账户种类</label>
            <div class="layui-input-block">
                <input type="checkbox" name="SupportAcClass" title="I类户" value="01">
                <input type="checkbox" name="SupportAcClass" title="II类户" value="02">
                <input type="checkbox" name="SupportAcClass" title="III类户" value="03">
            </div>
        </div>


        <div class="layui-form-item">
            <label class="layui-form-label">II类户配卡情况</label>
            <div class="layui-input-block">
                <select name="SecondAcIssuedFlag" id="SecondAcIssuedFlag" lay-search>
                    <option value="0">必须不配卡</option>
                    <option value="1">必须配卡</option>
                    <option value="2">配卡与否都允许</option>
                </select>
            </div>
        </div>


        <div class="layui-form-item">
            <label class="layui-form-label">人脸识别相似度</label>
            <div class="layui-input-block">
                <input type="number" name="FaceSimilarity" required lay-verify="required" placeholder="请输入人脸识别相似度"
                       id="FaceSimilarity"
                       autocomplete="off" class="layui-input">
            </div>
        </div>


        <div class="layui-form-item">
            <label class="layui-form-label">指纹识别</label>
            <div class="layui-input-block">
                <select name="NeedFingerprintCheck" id="NeedFingerprintCheck" lay-search>
                    <option value="0">不需要</option>
                    <option value="1">需要</option>
                </select>
            </div>
        </div>


        <br>
        <br>
        <h2>动态规则</h2>
        <hr>

        <div class="layui-form-item">
            <label class="layui-form-label">超出日限额人脸识别</label>
            <div class="layui-input-block">
                <select name="OverLimitNeedFaceCheck" id="OverLimitNeedFaceCheck" lay-search>
                    <option value="0">不需要</option>
                    <option value="1">需要</option>
                </select>
            </div>
        </div>

        <div class="layui-form-item">
            <label class="layui-form-label">超出日限额指纹识别</label>
            <div class="layui-input-block">
                <select name="OverLimitNeedFingerprintCheck" id="OverLimitNeedFingerprintCheck" lay-search>
                    <option value="0">不需要</option>
                    <option value="1">需要</option>
                </select>
            </div>
        </div>


        <div class="layui-form-item">
            <label class="layui-form-label">启用图形验证码次数</label>
            <div class="layui-input-block">
                <input type="number" name="NeedImageCheck" required lay-verify="required" placeholder="请输入启用图形验证码的次数"
                       id="NeedImageCheck"
                       autocomplete="off" class="layui-input">
            </div>
        </div>


        <div class="layui-form-item">
            <label class="layui-form-label">可替换方式</label>
            <div class="layui-input-block">
                <select name="AllowSubstitution"  lay-search  lay-filter="sit" id="AllowSubstitution">
                    <option value="">请选择替换方式</option>
                    <option value="AB">人脸识别和短信验证码可替换</option>
                    <option value="AC">人脸识别和交易密码可替换</option>
                    <option value="AD">人脸识别和指纹识别可替换</option>
                    <option value="BC">短信验证码和交易密码可替换</option>
                    <option value="BD">短信验证码和指纹识别可替换</option>
                    <option value="CD">交易密码和指纹识别可替换</option>
                </select>
            </div>
        </div>

        <br>
        <hr>
        <br>
    </form>

    <div class="layui-form">
        <div class="layui-form-item" style="  margin: 0 auto;">
            <div class="layui-input-block" style="text-align: center; right:10%; ">
                <button class="layui-btn" onclick="update()">立即提交</button>
            </div>
        </div>
    </div>
    <br><br>

</div>

<br>
<br>
<br>
<br>
<br>
<script type="text/javascript" src="common/jquery/jquery.js"></script>
<script type="text/javascript" src="common/layui/layui.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>

2.页面js中要进行layui模块的初始化

/**
 * layui的模块初始化
 */
layui.use(['form', 'layer'], function () {
    var form = layui.form;

    form.on('select(type)', function (data) {
        $("#TransactionType2").val($("#TransactionType").val());
        $("#RegisterType2").val($("#RegisterType").val());

        info();
    })

    form.render(); //渲染页面


})

/**
 * 页面加载完成后执行
 */
$(function () {
    //初始化
    $("#TransactionType2").val($("#TransactionType").val());
    $("#RegisterType2").val($("#RegisterType").val());
    //查询
    info();
})


//查询
function info() {
    var transactionType = $("#TransactionType").val();
    var registerType = $("#RegisterType").val();
    var data = {
        TransactionType: transactionType,
        RegisterType: registerType
    };
    /**
     * 将所有的checkbox设置不选中
     */
    $(":checkbox").prop("checked", false);
    var index = layer.load(2);
    $.ajax({
        type: 'post',
        url: 'info',
        data: data,
        success: function (res) {
            layer.close(index);
            if (res.code == 200) {
                /**
                 * 最小版本号
                 */
                $("#MinVersion").val(res.MinVersion);

                /**
                 *支持的账户类型
                 * @type {string}
                 */
                var registerFlag = res.RegisterFlag + "";
                var registerFlags = registerFlag.split(",");
                for (var i = 0; i < registerFlags.length; i++) {
                    //选中checkbox
                    $('[name="RegisterFlag"][value="' + registerFlags[i] + '"]').prop('checked', true);
                }

                /**
                 * 支持的账户种类
                 * @type {string}
                 */
                var supportAcClass = res.SupportAcClass + "";
                var supportAcClasses = supportAcClass.split(",");
                for (var i = 0; i < supportAcClasses.length; i++) {
                    //选中checkbox
                    $('[name="SupportAcClass"][value="' + supportAcClasses[i] + '"]').prop('checked', true);
                }


                // $("#NeedFaceCheck").find("option[value='"+res.NeedFaceCheck+"']").prop('selected',true);
                $("#NeedOtpCheck").val(res.NeedOtpCheck);
                $("#NeedFaceCheck").val(res.NeedFaceCheck);
                $("#NeedTrsPwdCheck").val(res.NeedTrsPwdCheck);
                $("#SecondAcIssuedFlag").val(res.SecondAcIssuedFlag);
                $("#FaceSimilarity").val(res.FaceSimilarity);
                $("#NeedFingerprintCheck").val(res.NeedFingerprintCheck);
                $("#OverLimitNeedFaceCheck").val(res.OverLimitNeedFaceCheck);
                $("#OverLimitNeedFingerprintCheck").val(res.OverLimitNeedFingerprintCheck);
                $("#NeedImageCheck").val(res.NeedImageCheck);
                $("#AllowSubstitution").val(res.AllowSubstitution);

                layui.use('form', function () {
                    var form = layui.form;
                    form.render('checkbox');
                    form.render('select');
                });
            }
        }
    })


}

/**
 * 更新
 */
function update() {

    layer.confirm(" 您确定要提交吗?", {icon: 3, title: '温馨提示'}, function () {
        var form = $("#updateForm");
        var data = form.serialize();

        var minVersion = $("#MinVersion").val();
        var faceSimilarity = $("#FaceSimilarity").val();
        var needImageCheck = $("#NeedImageCheck").val();
        if (minVersion == '') {
            layer.alert("请输入支持的最低版本号");
            return;
        }
        if (faceSimilarity == '') {
            layer.alert("请输入人脸识别相似度");
            return;
        }
        if (needImageCheck == '') {
            layer.alert("请输入启用图形验证码的次数");
            return;
        }
        var index = layer.load(2);
        $.ajax({
            type: 'post',
            url: 'update',
            data: data,
            success: function (res) {
                layer.close(index);
                if (res.code == 200) {
                    layer.alert("操作成功");
                } else {
                    layer.alert("操作失败");
                }
            }
        })
    })

}

注意:

               for (var i = 0; i < registerFlags.length; i++) {
                    //选中checkbox
                    $('[name="RegisterFlag"][value="' + registerFlags[i] + '"]').prop('checked', true); 必须要用prop 不能用attr
                }

猜你喜欢

转载自blog.csdn.net/wangxueqing52/article/details/81235299
今日推荐