bootstrap,bootstrap-table,bootstrapValidator,animate,layer配合起来搞事情
资源准备(just download)
bootstrap:
bootstrap-table:
http://bootstrap-table.wenzhixin.net.cn/
bootstrapValidator:
http://plugins.jquery.com/bootstrapValidator/
animate:
https://www.bootcdn.cn/animate.css/
layer:
页面引用:
<!-- CSS -->
<link href="/resource/css/bootstrap.min.css" rel="stylesheet" />
<link href="/resource/css/bootstrap-table.min.css" rel="stylesheet" />
<link href="/resource/css/bootstrapValidator.min.css" rel="stylesheet" />
<link href="/resource/css/animate.min.css" rel="stylesheet" />
<!-- JS -->
<script src="/resource/js/jquery-3.3.1.min.js"></script>
<script src="/resource/js/bootstrap.min.js"></script>
<script src="/resource/js/bootstrap-table.min.js"></script>
<script src="/resource/js/bootstrap-table-ja-JP.min.js"></script>
<script src="/resource/js/bootstrapValidator.min.js"></script>
<script src="/resource/js/layer/layer.js"></script>
bootstrap-table (jsp):
<table id="tab" class="table table-hover"></table>
<div id="toolsbar" class="btn-group pull-right" style="margin-right: 20px;">
<button id="btn_edit" type="button" class="btn btn-default" style="border-radius: 0">
<span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>EDIT
</button>
......
......
</div>
bootstrap-table (js):
var TableInit = function() {
var oTableInit = new Object();
// 初始化Table
oTableInit.Init = function() {
// 根据窗口调整表格高度
$(window).resize(function() {
$('#tab').bootstrapTable('resetView', {
height : tableHeight()
})
}) $('#tab').bootstrapTable({
url : 'xxx.do', // 请求后台的URL(*) SpringMVC框架服务器请求
method : 'post', // 请求方式(*)
toolbar : '#toolsbar', // 按钮栏
striped : true, // 间隔色
cache : false, // 缓存,默认为true
pagination : true, // 分页(*)
sortable : true, // 排序
sortName : "no",
sortOrder : "desc", // 排序方式
queryParams : oTableInit.queryParams,// 传递参数
queryParamsType : 'limit',
sidePagination : "server", // 分页方式:client客户端分页,server服务端分页
pageNumber : 1, // 初始化加载第一页,默认第一页
pageSize : 10, // 每页的记录行数
pageList : [ 10, 15, 20, 50 ], // 每页的行数
search : false, // 是否显示表格搜索
strictSearch : true,
showColumns : true, // 是否显示所有的列
showRefresh : true, // 是否显示刷新按钮
minimumCountColumns : 2, // 最少允许的列数
clickToSelect : true, // 是否启用点击选中行
height : tableHeight(),// 高度调整
uniqueId : "pjNo", // 每一行的唯一标识,一般为主键列
showToggle : true, // 显示详细视图和列表视图的切换按钮
toolbarAlign : 'right',
buttonsAlign : 'right',// 按钮对齐方式
cardView : false, // 是否显示详细视图
detailView : false, // 是否显示父子表
contentType : "application/x-www-form-urlencoded", // 解决POST提交问题
columns : [ {
title : '選択',
field : 'select',
checkbox : true,
width : 25,
align : 'center',
valign : 'middle'
}, {
title : 'PJ番号',
field : 'pjNo'
}, {
field : 'button',
title : '編集',
align : 'center',
events : operateEvents, // 最后这一列是【编辑】按钮,编辑按钮的事件
formatter : addoperatebutton // 【编辑】按钮html代码
},]
});
}; // 得到查询的参数
oTableInit.queryParams = function(params) {
var temp = {
pageSize : params.limit, // 页面大小
pageNumber : params.offset, // 页码
searchText : '',
sortName : '',
sortOrder : '',
// 搜索框参数
search_bumon : $('#search_bumon').val(),
search_pl : $('#search_pl').val(),
search_bikou : $('#search_bikou').val(),
search_gongoMae : $('#search_gongo').val()
};
return temp;
}; function addoperatebutton(value, row, index) {
return [ '<button id="rowedit" type="button">編集</button>' ].join('');
} window.operateEvents = {
'click #rowedit' : function(e, value, row, index) {
editdata(row); // 这里使用【layer.open】实现代码弹子画面
}
};
return oTableInit;
}; /**
* 通过弹出子画面编辑数据,并刷新数据table
*
* @param row
* @returns
*/
function editdata(row) {
// 使用 layer.open 弹出子画面
layer.open({
type : 2,
title : '(変更)',
maxmin : true,
shadeClose : true, // 点击遮罩关闭层
area : [ '30%', '45%' ],
btn : [ '更新', '削除' ],
btnAlign : 'c',
content : [ 'xxxx.do', 'yes' ], // xxxx.do 这里如果要想给后台传入参数 xxxx.do?parm1=....的形式的话,后台是接受不到的。如果非要这么玩的话,参考一下 https://blog.csdn.net/u011752272/article/details/77097663/
success : function(index, layero) {
var pIframe = $('iframe')[0].contentWindow.document;// 找到弹出框父页面
var subForm = $(pIframe).find('#editForm');// 通过复页面,定位子画面 var tempfield = $('#ksNo', subForm); // 定位子画面项目
tempfield.val(row.ksNo);// 给子画面设值
},
end : function() {
getTableData(); // 刷新 bootstrapTable
}
});
}; function getTableData() {
$('#tab').bootstrapTable('refresh', {
url : 'XXX.do'
});
}; // 使用bootstrapValidator 验证画面项目
$('#editForm').bootstrapValidator({
feedbackIcons : {
valid : 'glyphicon glyphicon-ok',
invalid : 'glyphicon glyphicon-remove',
validating : 'glyphicon glyphicon-refresh'
},
fields : {
a1 : {
validators : {
notEmpty : {
message : 'xxxxx'
},
stringLength : {
min : 4,
max : 7,
message : 'xxxxxxxxxxx'
}
}
},
a2 : {
validators : {
regexp : {
regexp : /^([1-9]\d{0,8}|0)([.]?|(\.\d{1,2})?)$/,
message : 'xxxxxxxxx'
}
}
},
Tel : {
validators : {
notEmpty : {
message : '手机号不能为空'
},
stringLength : {
min : 11,
max : 11,
message : '手机号必须为11位'
},
regexp : {
regexp : /^1(3|4|5|7|8)\d{9}$/,
message : '请填写正确的手机号'
}
}
}
}
}); // animate实现按钮点击后的滑动效果
$('#add').click(function() {
$('.tableBody').addClass('animated slideOutLeft');
setTimeout(function() {
$('.tableBody').removeClass('animated slideOutLeft').css('display', 'none');
}, 500) // 设置画面动作超时
$('.addBody').css('display', 'block');
$('.addBody').addClass('animated slideInRight');
。。。。。。
});
bootstrap,bootstrap-table,bootstrapValidator,animate,layer配合起来搞事情的更多相关文章
- bootstrap中table的colspan不起作用
bootstrap中table的colspan不起作用,即在不指定宽度的条件下,各个td宽度不符合colspan指定的宽度. 添加table0layout:fixed后显示正常. table{ tab ...
- bootstrap中table页面做省市区级联效果(级联库见前面级联编辑)(非select下拉框)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- [转]bootstrap的table插件动态加载表头
原文地址:https://blog.csdn.net/abubu123/article/details/78060321 bootstrap的table属性已经很熟悉了,最近遇到一个问题,犹豫每个列表 ...
- 【BootStrap】Table的基本使用
一.前言 新年新气象,转眼今年就28了,不知道今年能不能把妹成功呢?哈哈哈!上班第一天,部门Web技术主管给每个同事都发了红包鼓励大家今年加油,我作为新转入部门员工不能给团队掉链子,要加 ...
- BootStrap的table表格,栅格系统,form表单的样式
BootStrap BootStrap的简介 1. 什么是Bootstrap 由两个前端设计师开发的一个前端的框架(Html,css,js) 简化了程序员写css的代码 2. 为什么使用B ...
- Bootstrap Blazor Table 组件(二)
原文链接:https://www.cnblogs.com/ysmc/p/16128206.html 很多小伙伴在使用 Bootstrap Blazor Table组件的时候,都会有这样的一个需求: 我 ...
- BootStrap的table技术小结:数据填充、分页、列宽可拖动
本文结构:先说明,后代码.拷贝可直接运行. 一.demo结构: 二.文件引入 这些里面除了下面2个比较难找,其他的都很好找 bootstrap-table-resizable.js colResiza ...
- BootStrap的table表格的基本写法
代码如下: <!DOCTYPE html> <html> <head> <title>BootStrap的基础入门</title> < ...
- Bootstrap Data Table简单使用(动态加载数据)
直接上代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...
随机推荐
- Git中用vim打开、修改、保存文件(转)
一.vim 有两种工作模式: 1.命令模式:接受.执行 vim操作命令的模式,打开文件后的默认模式: 2.编辑模式:对打开的文件内容进行 增.删.改 操作的模式: 3.在编辑模式下按下ESC键,回退到 ...
- .NET Core实战项目之CMS 第十一章 开发篇-数据库生成及实体代码生成器开发
上篇给大家从零开始搭建了一个我们的ASP.NET Core CMS系统的开发框架,具体为什么那样设计我也已经在第十篇文章中进行了说明.不过文章发布后很多人都说了这样的分层不是很合理,什么数据库实体应该 ...
- Leetcode 137. 只出现一次的数字 II - 题解
Leetcode 137. 只出现一次的数字 II - 题解 137. Single Number II 在线提交: https://leetcode.com/problems/single-numb ...
- 软件性能测试技术树(三)----数据库(MySQL)性能
全图: MySQL重点监控指标: MySQL主流分支: 数据库架构设计: MySQL慢查询: SQL语句分析与调优: MySQL索引: MySQL存储引擎: MySQL实时监控: MySQL集群监控工 ...
- SpringMvc通过@Value( ) 给静态变量注入值
spring 不允许/不支持把值注入到静态变量中,如: @Value("${ES.CLUSTER_NAME}")private static String CLUSTER_NAME ...
- 微服务架构:Eureka参数配置项详解
版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能 ...
- jmeter 压测常见的几种报错
一. socket closed 问题原因:在JMeter下,发送http 请求时,一般都是默认选择了use keepAlive,这个是连接协议,JMeter坑就在这里,默认勾选了这个(如果不勾选的话 ...
- #1 爬虫:豆瓣图书TOP250 「requests、BeautifulSoup」
一.项目背景 随着时代的发展,国人对于阅读的需求也是日益增长,既然要阅读,就要读好书,什么是好书呢?本项目选择以豆瓣图书网站为对象,统计其排行榜的前250本书籍. 二.项目介绍 本项目使用Python ...
- webpack4.0各个击破(3)—— Assets篇
目录 一. Assets资源的基本处理需求 二. webpack处理引用资源 2.1 资源打标 2.2 引用优化 2.3 sprites雪碧图合成 2.4 图片压缩及其他 webpack作为前端最火的 ...
- Java开发笔记(四十四)本地日期时间与字符串的互相转换
之前介绍Calendar的时候,提到日历实例无法直接输出格式化后的时间字符串,必须先把Calendar类型转换成Date类型,再通过格式化工具SimpleDateFormat获得字符串.而日期时间的格 ...