当前位置: 首页 > news >正文

原生表格文本过长展示问题,参考layui长文本,点击出现文本域

需要引入layui文件

效果

html代码, 记得class="layui-table"; 这要有

    <form class="js-ajax-form" method="post" autocomplete="off"><table class="layui-table"><thead><tr><th>退烧药</th></tr></thead><tbody><foreach name="list" item="vo"><tr><td><if condition="!empty($vo.drug_names)"><if condition="mb_strlen($vo.drug_names, 'utf-8') gt 10"><span class="layui-inline age-text"onclick="toggleAgeTextarea(this, '{$vo.drug_names}')">{$vo.drug_names|mb_substr=0,10}...</span><textarea class="layui-textarea age-textarea"style="display: none; width: 200px; height: 40px;"readonlyonblur="toggleAgeTextarea(this)"></textarea><else/><span>{$vo.drug_names}</span></if></if></td></tr></foreach></tbody></table></form>

js 可以弄公共部分每个页面都引入一下

    <!-- 显示隐藏长文本框 --><script>// 切换显示文本与文本框window.toggleAgeTextarea = function (element, currentValue) {var textarea = element.nextElementSibling;if (textarea.style.display === 'none') {// 显示文本框element.style.display = 'none';textarea.value = currentValue;textarea.style.display = 'block';// 定位文本框在点击位置var rect = element.getBoundingClientRect();textarea.style.position = 'absolute';textarea.style.left = rect.left + 'px';textarea.style.top = rect.top + 'px';textarea.style.zIndex = '1000';textarea.style.resize = 'both';textarea.style.overflow = 'auto';textarea.style.boxShadow = '0 2px 6px rgba(0,0,0,0.1)';textarea.style.minHeight = '70px';textarea.style.minWidth = '200px';textarea.focus();} else {// 隐藏文本框,显示文本var updatedValue = textarea.value;textarea.style.display = 'none';element.innerText = updatedValue.length > 10 ? updatedValue.substr(0, 10) + "..." : updatedValue;element.style.display = 'inline';}};// 监听文本框失去焦点document.addEventListener('blur', function (event) {var target = event.target;if (target.classList.contains('age-textarea')) {var textarea = target;var spanElement = textarea.previousElementSibling;// 隐藏文本框并更新显示文本textarea.style.display = 'none';var updatedValue = textarea.value;spanElement.innerText = updatedValue.length > 10 ? updatedValue.substr(0, 10) + "..." : updatedValue;spanElement.style.display = 'inline';}}, true);</script>

http://www.dtcms.com/a/605350.html

相关文章:

  • 桂林网站建设培训asp.net网站建设
  • Ubuntu 24.04 MariaDB 完整安装与配置文档
  • [特殊字符] 在 Linux 上设置 SQLite
  • Arbess从初级到进阶(2) - 使用Arbess+GitLab实现Vue.js项目自动化部署
  • 网站开发外文参考文献邯郸小学网站建设
  • C语言编译器最新版 | 提升开发效率,优化性能
  • 手游网站怎么做企业型网站
  • 用Rust实现二进制文件差异工具
  • 代理IP的匿名性测试:如何验证你的真实IP是否已泄露?
  • FreeRTOS 在 AS32系列RISC-V 架构MCU电机驱动中的应用实践与优化
  • 【OpenCV + VS】 图像像素类型转换与归一化
  • 用 Rust 写一个可落地的目录实时监听器:跨平台文件系统事件的可靠表达与工程实践
  • Linux网络--Socket 编程 TCP
  • 【一文了解】C#反射
  • 网站建设seo推广外贸网站建设海外推广
  • 网站ip域名查询安徽省住房城乡建设厅网站电工
  • 202511-Selenium技术深度解析:Web自动化测试的王者之路
  • Android 打开 在线 pdf 文件
  • Python 教程:如何快速在 PDF 中添加水印(文字、图片)
  • 普中51单片机学习笔记-矩阵按键
  • 视觉语言模型新突破!开源项目解读
  • 深圳南山区住房和建设局网站官网天天向上做图网站
  • 微算法科技(NASDAQ MLGO)通过容量证明(PoC)构建全球存储资源池,为Web3应用提供低成本、抗审查的数据存储服务
  • 08-微服务原理篇(Canal-Redis)
  • 填写网站备案信息深圳建设材料价格网站
  • 【Spring Boot 报错已解决】Spring Boot开发避坑指南:Hibernate实体类主键配置详解与异常修复
  • 【CSS】cursor: auto, default, none 有什么区别?
  • 网站备案负责人三网合一营销型全网站
  • 7.2 Dify核心功能与技术架构:前后端分离、API接口、数据存储
  • 观察Springboot AI-Function Tools 执行过程