通过layer弹出层获取数据,渲染到页面里表格中

通过layer弹出层获取数据,渲染到页面里表格中
效果如下图
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

html部分

<!-- 填写用户信息弹窗模板 -->
	<script type="text/html" id="modal">
			<div id="popup-userInfo" style="overflow: hidden;">
				<div class="m_item">
					<span class="require" style="width: 10%;">学号</span>
					<input type="text" class="form-item" data-name="student_no" />
					<span style="width: 20%;">(请填写1-50)</span>
				</div>
				<div class="m_item">
					<span class="require" style="width: 10%;">姓名</span>
					<input type="text" class="form-item" data-name="name" />
					<span style="width: 20%;">(请填写2-5)</span>
				</div>
				<div class="m_item">
					<span class="require" style="width: 10%;">手机号</span>
					<input type="text" class="form-item" data-name="mobile" />
					<span style="width: 20%;">(请填写11)</span>
				</div>
				<div class="m_item ">
					<span class="require" style="width: 10%;">学院</span>
					<select class="form-item" data-name="collage">
						<option value ="理学院">理学院</option>
						<option value ="管理学院">管理学院</option>
						<option value="计算机科学与技术">计算机科学与技术</option>
					</select>
				</div>
				<div class="m_item ">
					<span class="require" style="width: 10%;">专业</span>
					<select class="form-item" data-name="major" >
						<option value ="理学院">理学院</option>
						<option value ="管理学院">管理学院</option>
						<option value="计算机科学与技术">计算机科学与技术</option>
					</select>
				</div>
				<div class="m_item">
					<span class="require" style="width: 10%;">年级</span>
					<input type="text" class="form-item" data-name="grade" />
				</div>
				<div class="m_item">
					<span class="require" style="width: 10%;">邮箱</span>
					<input type="text" class="form-item" data-name="email" />
				</div>
			</div>
	</script>

	<!-- 用户信息行模板 -->
	<script type="text/html" id="tpl-people">
		<tr>
			<td><%= name %></td>
			<td><%= student_no %></td>
			<td><%= mobile %></td>
			<td><%= collage %></td>
			<td><%= major %></td>
			<td><%= grade %></td>
			<td><%= email %></td>
		</tr>
	</script>

js部分

$(".add").click(function() {
				layer.open({
					type: 1,
					btn: ['保存'],
					btnAlign: 'c',
					success: function () {
						addSelectEvent()
					},
					yes: function(index, layero) {
						// 保存填写的用户信息
						if (!$('.tHead').length) {
							setTHead()
						}
						$(".myadd").before(getPeopleItem(getPeopleData()))
						layer.close(index);
					},
					title: ['审核成员', 'font-size:1rem;'],
					area: ['60rem', '40rem'],
					scrollbar: false,
					content: $('#modal').html() //这里content是一个DOM,注意:最好该元素要存放在body最外层,否则可能被其它的相对元素所影响
				});
			})
			

			/**
			 * 给表格添加表头
			 */
			function setTHead() {
				$('.joiner tbody').prepend(
					'<tr class="tHead">' +
					'<td>姓名</td>' +
					'<td>学号</td>' +
					'<td>手机号</td>' +
					'<td>学院</td>' +
					'<td>专业</td>' +
					'<td>年级</td>' +
					'<td>邮箱</td>' +
					'</tr>')
			}

			/**
			 * @param {Object} peopleData 填写的用户数据
			 */
			function getPeopleItem(peopleData) {
				return Template.render($('#tpl-people').html(), peopleData);
			}
			/**
			 * 获取填写用户数据
			 */
			function getPeopleData() {
				var result = {}
				$('#popup-userInfo .form-item').each(function () {
					result[this.dataset.name] = this.value 
				})
				return result
			}

css部分就懒得粘了 自己想要什么样的自己写就好:D

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
您可以这样做:在点击弹出按钮的时候,触发一个函数,在该函数获取选行的值,然后将这些值传递给弹出。具体实现方法如下: 1. 在表格加载数据时,给每一行添加一个自定义属性,例如:data-id,值为该行的id。 2. 在点击弹出按钮时,触发一个函数,获取当前选行的id。 3. 在弹出,定义一个隐藏域,将选行的id存储到该隐藏域。 4. 在弹出的表单提交事件,获取隐藏域的值,这样就可以获取到当前选行的所有值了。 具体实现细节可以看一下以下代码示例: //渲染表格 layui.table.render({ elem: '#table', url: 'xxx', cols: [ [ {type: 'checkbox'}, {field: 'id', title: 'ID', width: 80, sort: true}, {field: 'name', title: '姓名', width: 120}, {field: 'age', title: '年龄', width: 80, sort: true}, {field: 'city', title: '城市', width: 150}, {field: 'sign', title: '签名', minWidth: 200}, {field: 'score', title: '评分', width: 80, sort: true}, {field: 'operate', title: '操作', toolbar: '#barDemo', fixed: 'right', width: 120} ] ], page: true }); //监听工具条 layui.table.on('tool(test)', function(obj){ var data = obj.data; if(obj.event === 'detail'){ layer.open({ type: 2, title: '详情页面', area: ['600px', '450px'], content: 'detail.html', btn: ['关闭', '提交'], yes: function(index, layero){ layer.close(index); }, btn2: function(index, layero){ //获取当前选行的id,并将其存储到隐藏域 var id = data.id; $("#selectedId").val(id); //提交表单 $("#form").submit(); //阻止默认行为 return false; } }); } }); 在弹出页面,需要定义一个隐藏域: <input type="hidden" name="selectedId" id="selectedId" value=""/> 在提交表单事件,就可以获取到选行的id了: var id = $("#selectedId").val();

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值