layui 动态设置checbox 选中状态

最近在使用layui前端框架,在使用单选按钮、下拉菜单select、checkbox等控件的时候 往往遇到一些初始化的东西。

有时候会发现,自己动态append进去的代码要不就是没有显示,要不就是初始化默认选中出问题。

以上这些情况进行了测试:

第一种情况:动态append()html代码后没有显示空间的解决方案:

添加

layui.form.render();//重新渲染 可以解决多种没有显示的情况

第二种情况:动态设置默认选中状态没有效果解决方案:

细分为两种情况:(1)在html页面代码下(没有在layer初始化框架中,即没有在layui.use([], function(){  }) 中进行初始化)

                              以初始化checkbox默认选中为例:

$('.xxx').attr("checked", true); //注意这里使用的是attr()
layui.form.render(); //重新渲染显示效果

                              (2)在layui.use(); 初始化中初始化一般这种情况会出现在调用api接口错误之后使用不然checkbox改变状态

layui.use(['form','layer'],function(){
    var form = layui.form
        layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery;

if ($('.xxxx').attr("checked") === "checked") { //判断是否选中

                $('.xxxx').prop("checked", true); //设置选中 注意这里使用的是prop(), 这里要是使用了attr()是无效的
            } else {

                $('.xxxx').prop("checked", false);
            }

            form.render(); //重新渲染
});



你可能感兴趣的:(JavaScript,Web前端)