Layui 表单重置后 Select 未刷新的解决方案

作者:小满

时间:2026-10-23

浏览:238

本文介绍 Layui 中点击重置按钮时 select 下拉框未恢复默认值的问题。通过调用 form.render() 方法强制重新渲染表单元素,可解决此现象。文章同时解释了 Layui 对原生表单元素隐藏美化及动态生成需手动渲染的原理,并提供完整代码示例。

文章目录

Layui 表单重置后 Select 未刷新的解决方案

在 Layui 表单操作中,有时会遇到点击重置按钮后,普通输入框能正常清空,但 select 下拉选择框却保持原有选中状态,未能被重置的情况。

Layui 表单重置后 Select 未刷新的解决方案

重置按钮代码实现


 // 重置事件
  $("#reset").click(function () {
    $("#searchContent").val("");
    $("#selectKey").val("");
    form.render();
  })

解决该问题的关键在于调用 form.render() 方法,该方法会强制重新渲染表单组件,使 select 元素恢复到初始状态。

表单元素渲染机制解析

为何表单元素在 Layui 中不直接显示?

Layui 为了美化 select、checkbox、radio 等原生表单元素,默认会隐藏原始 DOM 节点并替换为自定义样式。这一过程依赖于 form 模块的加载与实例化。若未正确执行 form 实例,这些元素将无法正常渲染。同理,导航栏的 Hover 效果及 Tab 选项卡等功能也依赖对应模块(如 element 模块)的初始化。

form.render 手动渲染示例


layui.use('form', function(){
 var form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
 
 //……
 
 //但是,如果你的HTML是动态生成的,自动渲染就会失效
 //因此你需要在相应的地方,执行下述方法来手动渲染,跟这类似的还有 element.init();
 form.render();
}); 

以上即为 Layui 中重置按钮导致 select 未重置的解决思路。通过理解 form.render() 的作用机制,可有效处理此类表单刷新问题。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章