layui动态添加与设置checkbox选中状态的正确方法

作者:橙子

时间:2026-10-23

浏览:180

本文详解layui框架中动态生成checkbox控件后不显示或默认选中失效的问题。核心解决方案包括调用layui.form.render()重新渲染页面,以及在layui.use初始化块中区分使用attr()判断和prop()设置选中状态,确保动态内容正确交互。

文章目录

layui动态控件初始化问题概述

近期在使用layui前端框架时,处理单选按钮、下拉菜单select以及checkbox等表单控件,常会遇到初始化的相关困扰。

有时会发现,通过动态append插入的代码要么无法显示,要么初始化默认选中的状态会出现异常。

针对上述情况,进行了相关测试与验证:

动态添加html后控件不显示的解决

第一种情况:动态append()插入html代码后控件不显示的解决方案:

添加


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

动态设置checkbox选中状态的两种场景

第二种情况:动态设置默认选中状态无效时的解决方案:

该问题细分为两种具体场景:

非layui.use初始化块中的处理

(1)在html页面代码中(未包含在layui.use([], function(){ })初始化框架内,即未进行常规初始化)

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


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

layui.use初始化块中的状态处理

(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(); //重新渲染
});

以上关于layui动态设置checkbox选中状态的示例内容分享完毕,希望能提供有效参考,也希望大家多多支持本站。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章