Layui下拉框选择后回显乱码情况解决办法

今天在项目中遇到一个问题,在设备管理功能中我做了一个节点选择的下拉菜单,为了便于用户更加直观的在下拉菜单中看到设备节点的层级结构,因此下拉菜单的名字上加了一些层级符号。由此而引发了layui下拉菜单选择后,选择框select处出现了html的实体码,俗称“乱码”。

具体情况如下图所示:

Layui下拉框选择后回显乱码

解决办法:

首先在解决此问题的时候,波波参考了网上这篇文章https://blog.csdn.net/DarkMoonSH/article/details/112680571

但是在form.js中波波并未搜索到上述文章提到的代码“t(p[0].options[a]).html()”,因此我猜测我们使用的layui版本可能不一致。我的项目一般用的都是tp-admin框架进行开发的,而这套框架是我多年前根据ThinkAdmin修改而来的。因此时隔多年可能layui的版本过旧。

重头戏来了,那么我是如何解决的?

我直接在layui的模块form.js文件中搜索“html()”,一共搜到了三处。将如下代码:

  1. function(i){e=m,d=k.find("."+r).html(),

更改为:

  1. function(i){e=m,d=k.find("."+r).text(),

问题得以解决,效果如下图所示。

Layui下拉框选择后回显乱码情况

 

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!