layui页面操作,点击一个添加页面,跳转有确定,然后点击确定后将选择的几个数据返回前一个页面获取值,然后ajax请求后台
custUserIndex.html [添加页面代码]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>受试者</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
</head>
<body> <div class="layui-fluid">
<div class="layui-card">
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<!-- <div class="layui-inline">
<label class="layui-form-label">编号</label>
<div class="layui-input-block">
<input type="text" name="id" placeholder="请输入编号" autocomplete="off" class="layui-input">
</div>
</div>-->
<!-- <div class="layui-inline">
<label class="layui-form-label">问卷编号</label>
<div class="layui-input-block">
<input type="text" name="qnId" placeholder="请输入问卷编号" autocomplete="off" class="layui-input">
</div>
</div>-->
<!-- <div class="layui-inline">
<label class="layui-form-label">用户编号</label>
<div class="layui-input-block">
<input type="text" name="userId" placeholder="请输入用户编号" autocomplete="off" class="layui-input">
</div>
</div>-->
<div class="layui-inline">
<label class="layui-form-label">用户邮箱</label>
<div class="layui-input-block">
<input type="text" name="emain" placeholder="请输入用户邮箱" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">完成时间</label>
<div class="layui-input-block">
<input type="text" id="completeDate" name="completeDate" placeholder="请输入完成时间" autocomplete="off" class="layui-input">
</div>
</div>
<!-- <div class="layui-form-item">
<label class="layui-form-label">有效期始</label>
<div class="layui-input-inline">
<input type="text" name="validateStart" id="validateStart" lay-verify="required" placeholder="请输入有效期始" autocomplete="off" class="layui-input layer-date start">
</div>-->
<!-- <div class="layui-inline">
<label class="layui-form-label">排序</label>
<div class="layui-input-block">
<input type="number" name="sort" placeholder="请输入排序" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">备注</label>
<div class="layui-input-block">
<input type="text" name="remark" placeholder="请输入备注" autocomplete="off" class="layui-input">
</div>
</div>
-->
<div class="layui-inline">
<button class="layui-btn layuiadmin-btn-admin" lay-submit lay-filter="manager_search">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
</button>
</div>
</div>
</div> <div class="layui-card-body">
<div style="padding-bottom: 10px;">
<!--更改为批量上传,先选择问卷,然后添加然后上传-->
<button class="layui-btn layuiadmin-btn-admin" data-type="add">批量上传</button>
</div> <table id="table_manage" lay-filter="table_manage"></table>
<script type="text/html" id="table_operate_html">
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="openKS"><i class="layui-icon layui-icon-edit"></i>开始考试</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="openKS"><i class="layui-icon layui-icon-edit"></i>生成报告</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="openKS"><i class="layui-icon layui-icon-edit"></i>查看报告</a>
<a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon layui-icon-delete"></i>删除</a>
</script>
</div>
</div>
</div> <script src="/layuiadmin/layui/layui.js"></script>
<script>
layui.config({
base: '/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index','laydate', 'table'], function(){
var $ = layui.$
,form = layui.form
,table = layui.table;
var laydate = layui.laydate;//实例化引用
laydate.render({//构造
elem: '#completeDate' //指定元素
,type: 'datetime',//时间类型
min: '1900-1-1 00:00:00',//开始
max: '2099-6-16 23:59:59',//结束
trigger: 'click' //采用click弹出
,theme: '#393D49'//自定义颜色
,calendar: true,//公历 }); table.render({
elem: "#table_manage",
url: "/custUser/list",
page: true,
autoSort:false,
response:{statusCode:200},
initSort:{
field: 'id'
,type: 'desc'
},done:function(res,curr,count){
// 隐藏列
$(".layui-table-box").find("[data-field='id']").css("display","none"); },
cols: [
[
{field: "id",title: "编号",sort: !0},
{field: "qnId",title: "问卷名称",width: "20%",sort: !0},
{field: "userId",title: "用户名",width: "20%",sort: !0},
{field: "emain",title: "用户邮箱",width: "10%",sort: !0},
{field: "completeDate",title: "完成时间",width: "10%",sort: !0},
{title: "操作",width: "40%",align: "center",fixed: "right",toolbar: "#table_operate_html"}
]],
text: "对不起,加载出现异常!"
}),
table.on("sort(table_manage)", function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
//尽管我们的 table 自带排序功能,但并没有请求服务端。
//有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:
console.log(obj);
table.reload("table_manage", {
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。 layui 2.1.1 新增参数
,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
field: obj.field //排序字段
,order: obj.type //排序方式
}
});
});
table.on("tool(table_manage)",
function(e) {
e.data;
if ("del" === e.event){
layer.confirm("确定删除此受试者?",
function(t) {
$.ajax({
type: "post",
url: "/custUser/delete?id="+e.data.id,
success: function (result) {
console.log(result);
table.reload('table_manage'); //数据刷新
layer.close(t); //关闭弹层
}
});
});
}
//考试,生成报告,。
if ("openKS" === e.event){
layer.msg('正在完善中,请稍等..');
} else if ("edit" === e.event) {
console.log($(e.tr));
layer.open({
type: 2,
title: "编辑受试者",
content: "/custUser/prepareUpdate?id="+e.data.id,
area: ["710px", "450px"],
btn: ["确定", "取消"],
yes: function(e, t) {
var l = window["layui-layer-iframe" + e],
r = "manager_submit",
n = t.find("iframe").contents().find("#" + r);
l.layui.form.on("submit(" + r + ")",
function(t) {
t.field;
console.log(t.field);
$.ajax({
type: "post",
url: "/custUser/update",
data:t.field,
success: function (result) {
console.log(result);
table.reload('table_manage'); //数据刷新
layer.close(e); //关闭弹层
}
});
}),
n.trigger("click")
},
success: function(e, t) {}
})
}
}) //监听搜索
form.on('submit(manager_search)', function(data){
var field = data.field; //执行重载
table.reload('table_manage', {
where: field
});
}); //事件
var active = {
batchdel: function(){
var checkStatus = table.checkStatus('table_manage')
,checkData = checkStatus.data; //得到选中的数据 if(checkData.length === 0){
return layer.msg('请选择数据');
} layer.prompt({
formType: 1
,title: '敏感操作,请验证口令'
}, function(value, index){
layer.close(index); layer.confirm('确定删除吗?', function(index) { //执行 Ajax 后重载
/*
admin.req({
url: 'xxx'
//,……
});
*/
table.reload('table_manage');
layer.msg('已删除');
});
});
}, //添加受试者
/* */ /*
layer.open({
type: 2
,title: '添加试卷'
,content: '/custQuestionnaire/choose',
area: ["1510px", "610px"]
,btn: ['确定', '取消']
,yes: function(index, layero){
var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'manager_submit'
,submit = layero.find('iframe').contents().find('#'+ submitID); //监听提交
iframeWindow.layui.form.on('submit('+ submitID +')', function(data){
var field = data.field; //获取提交的字段
console.log(field);
//提交 Ajax 成功后,静态更新表格中的数据
$.ajax({
type: "post",
url: "/custUser/insert",
data:field,
success: function (result) {
console.log(result);
table.reload('table_manage'); //数据刷新
layer.close(index); //关闭弹层
}
}); }); submit.trigger('click');
}
});
*/
add: function(){
var ide= layer.open({
type: 2,
title: "添加试卷",
content: "/custQuestionnaire/choose",
area: ["1300px", "450px"],
btn: ["确定", "取消"],
shadeClose:true,//点击阴影处关闭窗口。
yes: function(index, layero) { var iframeWindow = window['layui-layer-iframe'+ index]
,submitID = 'btn2_choose'
,submit = layero.find('iframe').contents().find('#'+ submitID);
var selected = layero.find("iframe")[0].contentWindow.getSelected();
console.log(selected);
//将用户id和授权文档进行绑定
/* $.ajax({
cache:false,
type:"post",
data:{"CompanyData":JSON.stringify(selected),"id":e.data.id} ,
url:"/custUser/inserts",
async:true,
traditional:true,
success:function (res) {
if(res.code=='200'){
if(res.msg=="-1"){
layer.msg("授权成功");
//关闭当前窗口
layer.close(ide);
//刷新当前页面..
//location.reload();
}else{
layer.msg(res.msg);
//关闭当前窗口
layer.close(ide); } } }, error:function(res){
alert(res.msg) }
})*/ },
success: function(e, t) {}
})
} }
$('.layui-btn.layuiadmin-btn-admin').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
});
</script>
</body>
</html>
被请求页面代码:custQuestionnaireChoose.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>授权问卷</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="/layuiadmin/layui/css/layui.css" media="all">
<link rel="stylesheet" href="/layuiadmin/style/admin.css" media="all">
</head>
<body> <div class="layui-fluid">
<div class="layui-card">
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item"> <div class="layui-inline">
<label class="layui-form-label">名称</label>
<div class="layui-input-block">
<input type="text" name="title" placeholder="请输入名称" autocomplete="off" class="layui-input">
</div>
</div>
<!--修改-->
<div class="layui-inline">
<label class="layui-form-label">问卷类型</label>
<div class="layui-input-block">
<select name="type" lay-verify="">
<option value="">请输入</option>
<option value="dist">dist</option>
<option value="360">360</option>
</select>
</div>
</div> <div class="layui-inline">
<button class="layui-btn layuiadmin-btn-admin" lay-submit lay-filter="manager_search">
<i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
</button>
</div>
</div>
</div> <div class="layui-card-body">
<div style="padding-bottom: 10px;">
<button class="layui-btn layuiadmin-btn-admin" data-type="add">添加</button>
</div> <table id="table_manage" lay-filter="table_manage"></table>
<div style="display:none;">
<button id="btn2_choose" class="layui-btn layuiadmin-btn-admin" data-type="choose">选择</button>
</div> </div>
</div>
</div> <script src="/layuiadmin/layui/layui.js"></script>
<script>
var checkData=[];
layui.config({
base: '/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index', 'table'], function(){
var $ = layui.$
,form = layui.form
,table = layui.table; table.render({
elem: "#table_manage",
url: "/custQuestionnaire/list",
page: true,
autoSort:false,
response:{statusCode:200},
initSort:{
field: 'id'
,type: 'desc'
},done:function(res,curr,count){
// 隐藏列
$(".layui-table-box").find("[data-field='id']").css("display","none"); },
cols: [
[
{type:'checkbox'},
{field: "id",title: "编号",sort: !0},
{field: "title",title: "名称",width:"15%",sort: !0},
{field: "type",title: "问卷类型",width:"10%",sort: !0, templet: function(d){
if (d.type=="dist") { // 自定义内容
return "dist";
} else if (d.type=="360") {
return "360";
}
else {
return "其他";
}
} },
{field: "start",title: "导语",width:"15%",sort: !0},
{field: "end",title: "结束语",width:"15%",sort: !0},
{field: "report",title: "报告语",width:"15%",sort: !0}, {title: "操作",width:"30%",align: "center",fixed: "right",toolbar: "#table_operate_html"}
]],
text: "对不起,加载出现异常!"
}),
table.on("sort(table_manage)", function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
//尽管我们的 table 自带排序功能,但并没有请求服务端。
//有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:
console.log(obj);
table.reload("table_manage", {
initSort: obj //记录初始排序,如果不设的话,将无法标记表头的排序状态。 layui 2.1.1 新增参数
,where: { //请求参数(注意:这里面的参数可任意定义,并非下面固定的格式)
field: obj.field //排序字段
,order: obj.type //排序方式
}
});
});
table.on("tool(table_manage)",
function(e) {
e.data;
if ("del" === e.event){
layer.confirm("确定删除此授权问卷?",
function(t) {
$.ajax({
type: "post",
url: "/custQuestionnaire/delete?id="+e.data.id,
success: function (result) {
console.log(result);
table.reload('table_manage'); //数据刷新
layer.close(t); //关闭弹层
}
});
});
} }) //监听搜索
form.on('submit(manager_search)', function(data){
var field = data.field; //执行重载
table.reload('table_manage', {
where: field
});
}); //事件
var active = {
choose: function(){
var checkStatus = table.checkStatus('table_manage');
checkData = checkStatus.data; //得到选中的数据 if(checkData.length === 0){
return layer.msg('请选择数据');
} return checkData;
} } $('.layui-btn.layuiadmin-btn-admin').on('click', function(){
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
});
</script>
</body>
</html>
<script src="/jquery/jquery-3.3.1.js"></script>
<script>
var getSelected = function () {
$("#btn2_choose").click();
var selected = checkData;
return selected;
}
</script>
layui页面操作,点击一个添加页面,跳转有确定,然后点击确定后将选择的几个数据返回前一个页面获取值,然后ajax请求后台的更多相关文章
- Laravel 5.2+ 使用url()全局函数返回前一个页面的地址
注意:文章标题中5.2+表示该文章内容可向上兼容,适用于Laravel版本5.2及更高(目前最新为5.6),但不可向下兼容,即不适用于5.2版本以下.推荐大家花一点点时间,将自己的Laravel更新至 ...
- Spring MVC中Controller如何将数据返回给页面
要实现Controller返回数据给页面,Spring MVC 提供了以下几种途径: ModelAndView:将视图和数据封装成ModelAndView对象,作为方法的返回值,数据最终会存到Http ...
- C# 动态创建SQL数据库(二) 在.net core web项目中生成二维码 后台Post/Get 请求接口 方式 WebForm 页面ajax 请求后台页面 方法 实现输入框小数多 自动进位展示,编辑时实际值不变 快速掌握Gif动态图实现代码 C#处理和对接HTTP接口请求
C# 动态创建SQL数据库(二) 使用Entity Framework 创建数据库与表 前面文章有说到使用SQL语句动态创建数据库与数据表,这次直接使用Entriy Framwork 的ORM对象关 ...
- JS 操作 HTML 和 AJAX 请求后台数据
为某个元素插入值,添加属性,添加子元素 <div class="col-sm-6"> <select class="form-control" ...
- 高德地图 JS API (jsp + miniui(子页面数据返回父页面并设值) + 单个点标记 + 点标记经纬度 + 回显 + 限制地图显示范围+搜索)
-*- 父页面js function mapFocus(){ //console.log("-*-"); var longitude = mini.get("jd&qu ...
- WebForm 页面ajax 请求后台页面 方法
function ReturnOperation(InventoryID) { //入库 接口 if (confirm('你确认?')) { $.ajax({ type: "post&quo ...
- Qt中实现点击一个label,跳转到打开一个浏览器链接
配置模块 首先需要在.pro配置文件中添加QT += network 重写自定义Label .h文件 class MyClickLabel : public QLabel { Q_OBJECT pub ...
- vux 表单提交数据 返回后页面跳转
ps:仅作参考
- jquery,从后台查数据,给页面上添加树形。
前台jquery+ajax请求往页面上添加树形的js代码 //传入当前点击节点的id,在后台代码查询出parentid=当前节点id的记录数,从而实现点击当前节点,往后台发送ajax请求,查询出子节点 ...
随机推荐
- 一时兴起,用python抓了一下美女图片。实现简单。附上实现代码,可以交流。
"""1.定义目标网址 网址2.数据定位 照片3.数据匹配 标签4.数据下载 下载"""import requestsfrom lxml i ...
- Apache Dubbo理解和应用
官网:https://dubbo.apache.org/ slogan:高性能.轻量级的开源Java RPC框架 提供了六大核心能力:面向接口代理的高性能RPC调用,智能容错和负载均衡,服务自动注册和 ...
- 解决npm : 无法加载文件 D:\Code\renren-fast-vue\node_modules\.bin\npm.ps1,因为在......
解决这个问题: 看看错误信息: npm : 无法加载文件 D:\DevPath\nodejs\npm.ps1,因为在此系统上禁止运行脚本.有关详细信息,请参阅 https:/go.microsoft. ...
- 深入理解java中main方法
理解main方法语法 深入理解main方法: 解释main方法的形式:public static void main(String[] args){} main方法调用者:虚拟机 java虚拟机需要调 ...
- 远程设备管理opendx平台搭建-appium和adb的安装
多年不见了,说起来也有3年了我又开始写博客了,这几年我还是没啥长进,还是干测试,但是测试行业的话,我已经成了一个测开了,也在搭建自己的测试网站 本系列文章讲述的是一个系列的第一部分,最终可以搭建一整套 ...
- noj加1乘2平方
广度优先搜索典例 00 题目 描述: 最简单的队列的使用#include <iostream>#include <queue>using namespace std;queue ...
- .net Xml加密解密操作
生成密钥的方法: /// <summary>生成RSA加密 解密的 密钥 /// 生成的key就是 方法EncryptByRSA与DecryptByRSA用的key了 /// </s ...
- python png图片生成gif
有时候写代码就是这样别人把代码写好你在后面加一个句号就行了 我很懒不想写成函数,你自己来吧.有注释就不错了 这个依赖一个图像处理库pillow,轮子就是轮他不是车 import imageio imp ...
- NOIP模拟83(多校16)
前言 CSP之后第一次模拟赛,感觉考的一般. 不得不吐槽多校联测 OJ 上的评测机是真的慢... T1 树上的数 解题思路 感觉自己思维有些固化了,一看题目就感觉是线段树. 考完之后才想起来这玩意直接 ...
- 第三次Alpha Scrum Meeting
本次会议为Alpha阶段第三次Scrum Meeting会议 会议概要 会议时间:2021年4月26日 会议地点:线上会议 会议时长:20min 会议内容简介:本次会议主要由每个人展示自己目前完成的工 ...