游乐游手机版
首页/前端开发/文章详情

layui单选框如何设置readonly属性及实现方法

时间:2026-08-20 22:46
Layui 单选框不支持 readonly 属性,因为它遵循 HTML 标准,单选框仅支持 disabled;如果需要禁用,应使用 disabled 并调用 form render() 刷新 UI。在表格场景中,通常需要结合 pointer-events:none 与事件拦截,才能同时实现视觉上的禁

Layui 单选框不支持 readonly 属性,因为它遵循 HTML 标准,单选框仅支持 disabled;如果需要禁用,应使用 disabled 并调用 form.render() 刷新 UI。在表格场景中,通常需要结合 pointer-events:none 与事件拦截,才能同时实现视觉上的禁用效果和交互限制。

layui单选框readonly属性怎么加

Layui 的单选框(type: 'radio')并不支持 readonly 属性——也就是说,它不会渲染出带有 readonly 元素,同时也不会对该属性做任何响应。即使手动添加,浏览器通常也会忽略,Layui 在渲染过程中还可能将其覆盖掉,因此实际不会生效。

为什么 radio 不能添加 readonly 属性

从 HTML 原生规范来看, 这两类表单控件,本身就没有 readonly 属性,它们只能使用 disabled。Layui 也是按照这套规则来实现的:它会把所有 radio 渲染成自定义 UI(.layui-form-radio),而底层的 input 主要负责状态同步,并且只识别 disabled 状态。

  • 在 HTML 源码中直接添加 readonly → 渲染后会消失,控制台有时还会出现 warning
  • 通过 JS 设置 elem.readOnly = true → 依然无效,因为 Layui 不监听 readOnly 的变化
  • 如果你想实现“只读但仍可聚焦或复制”的效果 → radio 组件本身并不支持这种交互逻辑

真正可行的替代方法:使用 disabled 控制是否可选

如果你的需求是“禁止用户切换单选项”,那么最稳定、最标准的做法就是使用 disabled

  • 在配置项中设置 disabled: true(该方式通常只适用于表单中的独立 radio 组件,不适用于表格内的 radio 列)
  • 对于已经渲染完成的 radio,可以通过 JS 找到对应的 并设置 disabled
    document.querySelector("input[name='gender'][value='1']").disabled = true;
  • 设置完成后要记得执行 layui.form.render('radio'),否则 Layui 的界面样式不会同步更新

表格中 type: 'radio' 列如何“禁用整行”

在 Layui 表格里,type: 'radio' 通常是整列统一控制的,不能直接针对某一行单独设置 radio 禁用。更常见、也更实用的处理方式包括:

  • cols 中为该列配置 unresize: true, style: 'pointer-events: none;',从而实现视觉变灰和点击失效的效果
  • 监听 table.on('radio(filter)') 事件,在回调中判断当前行是否允许被选中;如果不允许,可以直接 return false,或者手动取消选中状态:
    obj.tr.find("input[type='radio']").prop("checked", false);
  • 需要注意的是:disabled 属性对表格中的 radio 列通常不起作用,因此单纯添加该属性并不能达到预期效果

实际开发中,更需要分清“视觉禁用”和“数据锁定”这两个概念——disabled 会导致对应字段不参与表单提交,而仅仅通过隐藏、变灰或添加样式,并不会影响数据本身。如果你的目标是不允许用户点击,但又必须保留提交值,那么应采用事件拦截 + 手动控制 checked 状态的方案,而不是尝试给 Layui 单选框增加并不存在的 readonly 语义。

来源:https://www.php.cn/faq/3021351.html
上一篇Vite中SCSS热更新后CSS不刷新的修复方法 下一篇CSS解决移动端头像裁剪边缘锯齿明显问题的方法
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
CSS3入门指南:常用特性解析与实战练习路径
前端开发 · 2026-09-01

CSS3入门指南:常用特性解析与实战练习路径

CSS3是现代网页开发的核心技术,涵盖圆角、阴影、渐变、过渡、动画及响应式布局等高频特性。本文梳理了CSS3的核心应用场景、分步学习路径与综合练习案例,帮助初学者快速建立从基础排版到现代交互的完整开发思路,并规避常见样式陷阱。

CSS border 边框属性详解:语法、拆分写法与常见问题排查
前端开发 · 2026-09-01

CSS border 边框属性详解:语法、拆分写法与常见问题排查

本文系统讲解CSS标准边框属性border的完整语法结构,涵盖简写与拆分写法、单边控制技巧及border-radius配合方案。针对边框不显示、元素尺寸异常等高频问题提供排查路径,帮助开发者快速掌握边框设置规范并提升界面视觉一致性。

CSS3动画属性有哪些:常用属性与用法说明
前端开发 · 2026-09-01

CSS3动画属性有哪些:常用属性与用法说明

CSS3动画主要分为transition过渡与animation关键帧两类。本文梳理常用属性、简写语法与@keyframes规则,结合悬停、入场、循环等场景给出代码示例与选型建议,帮助开发者快速写出流畅且可控的动画效果。

CSS3渐变色语法与常见用法
前端开发 · 2026-09-01

CSS3渐变色语法与常见用法

CSS3渐变色通过纯代码生成平滑颜色过渡,广泛用于按钮、横幅与卡片背景。本文系统梳理线性与径向渐变的核心语法、方向控制、停靠点设置及多层叠加技巧,提供可直接复用的场景代码,并给出兼容性策略与常见渲染异常排查方法,帮助开发者快速构建稳定、可维护的渐变样式。

CSS3手册中文版下载指南:获取渠道、筛选标准与使用建议
前端开发 · 2026-09-01

CSS3手册中文版下载指南:获取渠道、筛选标准与使用建议

寻找CSS3手册中文版下载资源时,如何判断来源可靠性、筛选高质量内容并有效使用?本文从获取渠道、版本识别、下载验收到替代方案,提供一套可执行的判断标准,帮助你快速找到适合学习或查阅的中文手册。