layui单选框选中后怎么触发ajax

酷婷酱_6710

酷婷酱_6710

2026-08-26

475人浏览

原创

layui单选框应通过form.on('radio(filter)')绑定事件,filter对应name值;在回调中用data.value获取值并发起ajax请求,需确保监听器在form.render()之后注册,避免重复绑定和重复渲染。

layui单选框选中后怎么触发ajax

layui单选框怎么绑定点击事件

layui 的 radio 是通过 form.render() 渲染的表单元素,原生 click 事件无法直接绑定到渲染后的 DOM 上——因为实际点击的是 layui 生成的伪元素(.layui-form-radio),真实 <input type="radio"> 被隐藏了。

正确做法是监听 form 模块的 form.on('radio(filter)') 事件,其中 filter 是你在 name 属性上设置的值(或自定义的 lay-filter)。

  • 确保单选框有 name 属性,比如 <input type="radio" name="status" value="1">
  • 在 form.on() 中用该 name 值作为 filter,如 form.on('radio(status)', ...)
  • 事件回调的 data 对象里有 value 和 elem,可直接取到当前选中的值

选中后怎么发 AJAX 请求

在 form.on('radio(xxx)') 回调里调用 $.ajax() 或 layui.ajax() 即可。注意:不要在 change 或 click 上重复绑定,否则可能触发多次(尤其页面重 render 后)。

示例:

深蓝色网站后台管理系统layui框架模板-AdminPro
深蓝色网站后台管理系统layui框架模板-AdminPro

一款深蓝色网站后台管理系统layui框架模板

下载
form.on('radio(status)', function(data){
  $.ajax({
    url: '/api/update',
    type: 'POST',
    data: { status: data.value },
    success: function(res) {
      console.log('提交成功');
    }
  });
});
  • data.value 就是当前被选中的 radio 的 value,无需再查 DOM
  • 避免在回调里调用 form.render(),这会引发重复监听
  • 如果接口返回需要更新其他字段(比如禁用按钮),建议在 success 里操作 DOM,而不是再次触发 form 监听

为什么有时候 AJAX 只触发一次或不触发

常见原因是监听器注册时机不对:form 监听必须在 form.render() 之后执行,否则事件不会生效;另外,如果单选框是动态插入的(比如从弹窗加载),要确保监听器在插入后、render 之后再绑定。

  • 检查是否漏写了 form.render(),尤其是动态追加内容后
  • 确认 lay-filter 值和 form.on() 中的 filter 完全一致(区分大小写)
  • 浏览器控制台看是否有 Uncaught TypeError: Cannot read property 'on' of undefined ——说明 layui.use(['form'], callback) 没包住监听逻辑
  • 不要把 form.on() 写在 $(document).ready() 里却不等 layui 加载完成

要不要防重复提交

单选框切换时可能快速连点,导致多个请求并发发出。虽然业务上通常只关心最后一次,但后端未必幂等,前端最好加一层简单节流。

  • 用 var lock = false + if (lock) return; lock = true; 最简控制
  • 成功后记得 lock = false,失败也要恢复(否则锁死)
  • 更稳妥可用 layui.use('layer') 在请求中显示 loading,同时阻断后续点击

真实场景里,radio 切换往往关联状态变更,而状态变更常需服务端校验,所以别省掉 loading 提示和错误反馈——这点容易被忽略,但用户感知极强。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

layui单选框 ajax layui

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

2800

4

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

360

5

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.15

2633

5

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.24

1161

6

Python uv使用教程
Python uv使用教程

本专题汇总了 Python uv 使用教程与高效使用指南,从 uv 安装配置、常用命令到虚拟环境、依赖管理与项目打包,系统讲解如何用 uv 替代 pip 与 poetry,全面提升 Python 项目开发效率,助你快速上手这一现代化包管理工具,打造干净高效的 Python 工作流。

2026.10.15

0

15

剧云AI短剧创作教程合集
剧云AI短剧创作教程合集

本专题聚焦剧云AI短剧创作,讲解从短剧灵感、梗概、全局大纲到分集、分场和正文的完整流程及节奏设计方法。

2026.10.14

0

15

剧云AI剧本创作零基础入门
剧云AI剧本创作零基础入门

本专题系统讲解剧云AI剧本创作流程,涵盖灵感、梗概、大纲、分场与正文生成,帮助新手快速完成首个中文剧本项目。

2026.10.14

0

14

VibeKnow文档转视频操作指南
VibeKnow文档转视频操作指南

本专题讲解VibeKnow上传Word、TXT、Markdown等材料生成视频的方法,覆盖内容解析、脚本组织、画面生成与成片检查。

2026.10.14

0

15

VibeKnow知识视频制作与导出详解
VibeKnow知识视频制作与导出详解

本专题整理VibeKnow从注册、素材上传、AI生成到预览导出的完整操作,帮助新手快速制作第一条知识讲解视频。

2026.10.14

0

13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
jQuery官方API文档
jQuery官方API文档

共0课时 | 0人学习

Symfony教程(入门篇+基础篇)
Symfony教程(入门篇+基础篇)

共18课时 | 1.8万人学习