layer弹出框的正文使用html的内容传值问题
layer弹出框的content使用html内容时
比如:
下面是html内容
<div id="contentDiv">
<div style="width:350px;margin:10px auto;text-align:center;">
<form >
<div id="aa1">
名称: <input type="text" id="userName" />
</div>
<div id="aa2" style="margin-top:20px;">
学号: <input type="text" id="number" />
</div>
<div id="aa3" style="margin-top:20px;">
班级: <input type="text" id="stuclass" />
</div>
</form>
</div>
</div>
在弹出框打开前先给文本框赋值,为了弹出框里的文本框也有值。代码如下:
//给修改绑定事件
$(".myUpdate").click(function () {
var nowRows = $(this);//当前选中的行
var uid = nowRows.parent().siblings().eq(0).html();//id
$("#userName").val( nowRows.parent().siblings().eq(1).html());//用户名
$("#number").val( nowRows.parent().siblings().eq(2).html());//学号
$("#stuclass").val(nowRows.parent().siblings().eq(3).html());//班级
然后再将弹出框里的正文改为div的id为contentDiv盒子里的所有html,相当于复制一个。
这样再打开弹窗时会出现div的id为contentDiv盒子里的所有内容,但是文本框取没有值,前一个div的id为contentDiv盒子里却有值了,这是因为实际上存在两个id为contentDiv的盒子,而选择器赋值时默认找了第一个id为contentDiv的盒子,可以将弹出框里的那个盒子理解为未来生成的。
解决方法
直接将弹出框的正文改为改为div的id为contentDiv盒子本身,这样就一直都只有一个div了,然后设置一下基本层类型即可。
这样的话,div的id为contentDiv盒子会直接被放入弹出框里显示,而弹出框关闭后又把div放回至原理的body中。而且还能拿到文本框的值。
弹出框打开时,如下图:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?