解决layui中onchange失效以及form动态渲染失效的问题

作者:小满

时间:2026-10-23

浏览:445

在使用layui框架进行城市三级级联开发时,原生jQuery的onchange事件往往无法直接触发。本文详细讲解了如何通过layui.form().on()方法正确监听控件变化,并针对动态拼接DOM后表单不更新的问题,演示了调用form.render()进行强制渲染的操作步骤,确保动态内容正常显示。

文章目录

layui中onchange事件失效原因

在近期使用layui框架开发城市三级级联功能时,发现jQuery原生的onchange事件方法在layui环境中无法正常工作。

查阅layui社区文档后得知,layui对控件变化的监控提供了专门的监听机制。

静态控件监听实现

HTML结构部分:


<select lay-filter="test"></select>

JavaScript逻辑部分:


var form = layui.form();
form.on('select(test)', function(data){
 console.log(data);
});

按照上述方式配置,即可实现预期的监听效果。

动态表单渲染解决方案

在处理动态拼接内容并给控件赋值时,layui相比jQuery多了一个必要的步骤。

动态内容渲染步骤

jQuery的传统做法:


$('#city').append('<option value=' + value + '>' + value + '</option>');
layer:

$('#city').append('<option value=' + value + '>' + value + '</option>');

完成动态拼接后,必须调用以下代码:


form.render();

页面才能正确渲染出动态拼接的内容。

以上关于解决layui中onchange失效以及form动态渲染失效的内容分享完毕,希望能为读者提供参考,并欢迎大家继续支持本站。

实用工具推荐

电子包浆

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

使用 ›
图片压缩

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

使用 ›
相关文章