Bootstrap-table使用记录(转)
HTML代码
/*index.cshtml*/
@section styles{
<style>
.main {
margin-top:20px;
}
.modal-body .form-group .form-control {
display:inline-block;
}
.modal-body .form-group .tips {
color:red;
}
</style>
}
<div class="main">
<div id="toolbar" class="btn-group">
<button id="addProductBtn" type="button" class="btn btn-default" onclick="showAddModal()">
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增产品
</button>
</div>
<table id="table"></table>
</div>
<div class="modal fade" id="productModal" tabindex="-1" role="dialog" aria-labelledby="productModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="productModalLabel"></h4>
</div>
<div class="modal-body">
<div class="form-group">
<label for="prodId" class="col-md-2">编号:</label>
<input type="text" class="form-control" id="prodId" disabled>
</div>
<div class="form-group">
<label for="prodName" class="col-md-2">名称:</label>
<input type="text" class="form-control" id="prodName">
<span class="tips" >(最多20个字)</span>
</div>
<div class="form-group">
<label for="prodTecParam" class="col-md-2">技术参数:</label>
<textarea rows=" class="form-control" id="prodTecParam"></textarea>
<span class="tips" >(最多150个字)</span>
</div>
<div class="form-group">
<label for="prodType" class="col-md-2">类型:</label>
<select class="form-control" id="prodType">
<option value=">普通产品</option>
<option value=">明星产品</option>
</select>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button id="modalSubmitBtn" type="button" class="btn btn-primary">{{modalBtn}}</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal -->
</div>
@section scripts{
<script type="text/javascript" src="~/Scripts/bootstrap-table.js"></script>
<script type="text/javascript" src="~/Scripts/bootstrap-table-zh-CN.js"></script>
<script type="text/javascript" src="~/Scripts/common.js"></script>
<script type="text/javascript" src="~/Views/Home/index.js"></script>
}
JS代码
/*index.js*/
$(document).ready(function () {
var $table = $('#table');
; //技术参数默认折叠显示长度
$table.bootstrapTable({
locale: 'zh-CN',
url: '/product/getList',
method: 'post',
contentType: 'application/json',
dataType: "json",
toolbar: '#toolbar', //工具按钮用哪个容器
pagination: true,
search: true,
showRefresh: true,
sidePagination: "server", //分页方式:client客户端分页,server服务端分页
singleSelect: true, //单行选择
pageNumber: , //初始化加载第一页,默认第一页
pageSize: , //每页的记录行数
pageList: [, , ],
queryParams: function (params) { //请求参数
var temp = {
pageSize: params.limit, //页面大小
pageNo: , //页码
search: $('.search input').val()
};
return temp;
},
responseHandler: function (res) {
return {
pageSize: res.pageSize,
pageNumber: res.pageNo,
total: res.total,
rows: res.rows
};
},
columns: [
{
title: '产品编号',
field: 'id'
},
{
title: '产品名称',
width: ,
field: 'name'
},
{
title: '技术参数',
field: 'tecParam',
width: ,
formatter: tecParamFormatter,
events: {
"click .toggle": toggleText
}
},
{
title: '类型',
field: 'type',
formatter: typeFormatter
},
{
title: '操作',
formatter: operateFormatter,
events: {
"click .mod": showUpdateModal,
"click .delete": deleteProduct
}
}
]
});
function tecParamFormatter(value, row, index) {
) {
, textLength) + '...</span> <a class="toggle" href="javascript:void(0)">展开</a>';
}
return value;
}
function toggleText(e, value, row, index) {
if (value == null) {
return false;
}
var $tecParam = $(this).prev(".tec-param"),
$toggle = $(this);
) { //折叠
$tecParam.text(value.substr(, textLength) + "...");
$toggle.text("展开");
}
&& $tecParam.text().length <= textLength + ) { //展开
$tecParam.text(value);
$toggle.text("折叠");
}
}
function typeFormatter(value, row, index) {
var type = "";
")
type = "普通产品";
")
type = "明星产品";
return type;
};
function operateFormatter (value, row, index) {
return '<a class="mod btn btn-info" href="javascript:void(0)">修改</a> '
+ '<a class="delete btn btn-danger" href="javascript:void(0)">删除</a>';
};
function showUpdateModal (e, value, row, index) {
$("#productModalLabel").text("更新产品信息");
$("#modalSubmitBtn").text("更新");
$("#prodId").val(row.id);
$("#prodId").attr("disabled", true); //禁止修改id
$("#prodName").val(row.name);
$("#prodTecParam").val(row.tecParam);
)
$("#prodType").find('option[value="1001"]').attr("selected", true);
)
$("#prodType").find('option[value="1002"]').attr("selected", true);
$("#modalSubmitBtn").unbind();
$("#modalSubmitBtn").on("click", updateProduct);
$("#productModal").modal("show");
};
function deleteProduct (e, value, row, index) {
var product = {
id: row.id
};
if (product.id === null || product.id === "") {
return false;
}
Common.confirm({
message: "确认删除该产品?",
operate: function (result) {
if (result) {
$.ajax({
type: "post",
url: "/product/delete",
contentType: "application/json",
data: JSON.stringify(product),
success: function (data) {
if (data !== null) {
if (data.result) {
$("#table").bootstrapTable("refresh", { silent: true });
tipsAlert('alert-success', '提示', '删除成功!');
}
else {
tipsAlert('alert-warning', '提示', '删除失败!');
}
}
},
error: function (err) {
tipsAlert('alert-danger', '警告', '服务器异常,请稍后再试!');
console.log("error:", err.statusText);
}
});
return true;
}
else {
return false;
}
}
});
};
var $search = $table.data('bootstrap.table').$toolbar.find('.search input');
$search.attr('placeholder', '请输入编号、产品名称、技术参数搜索');
$search.css(');
$(".model .form-group input").on("click", function(){
$(this).next(".tips").text("");
});
});
var showAddModal = function () {
$("#productModalLabel").text("新增产品");
$("#modalSubmitBtn").text("新增");
$("#prodId").val('');
$("#prodName").val('');
$("#prodTecParam").val('');
$("#modalSubmitBtn").unbind();
$("#modalSubmitBtn").on("click", addProduct);
$("#productModal").modal("show");
};
var addProduct = function () {
var product = {
name: $("#prodName").val(),
tecParam: $("#prodTecParam").val(),
type: $("#prodType").val()
};
if (product.name == null || product.name == "") {
$("#prodName").next(".tips").text("产品名称不能为空!");
return false;
}
) {
$("#prodName").next(".tips").text("最多20个字!");
return false;
}
) {
$("#prodTecParam").next(".tips").text("最多150个字!");
return false;
}
$.ajax({
type: "post",
url: "/product/add",
contentType: "application/json",
data: JSON.stringify(product),
success: function (data) {
if (data !== null) {
if (data.result) {
$("#table").bootstrapTable("refresh", { silent: true });
$("#productModal").modal('hide');
$("#prodId").val('');
$("#prodName").val('');
$("#prodTecParam").val('');
tipsAlert('alert-success', '提示', '新增成功!');
}
else {
tipsAlert('alert-warning', '提示', '新增失败!');
}
}
},
error: function (err) {
tipsAlert('alert-danger', '警告', '服务器异常,请稍后再试!');
console.log("error:", err.statusText);
}
});
};
var updateProduct = function () {
var product = {
id: $("#prodId").val(),
name: $("#prodName").val(),
tecParam: $("#prodTecParam").val(),
type: $("#prodType").val()
};
if (product.name == null || product.name == "") {
$("#prodName").next(".tips").text("产品名称不能为空!");
return false;
}
) {
$("#prodName").next(".tips").text("最多20个字!");
return false;
}
) {
$("#prodTecParam").next(".tips").text("最多150个字!");
return false;
}
$.ajax({
type: "post",
url: "/product/update",
contentType: "application/json",
data: JSON.stringify(product),
success: function (data) {
if (data !== null) {
if (data.result) {
$("#table").bootstrapTable("refresh", { silent: true });
$("#productModal").modal('hide');
$("#prodId").val('');
$("#prodName").val('');
$("#prodTecParam").val('');
tipsAlert('alert-success', '提示', '修改成功!');
}
else {
tipsAlert('alert-warning', '提示', '修改失败!');
}
}
},
error: function (err) {
tipsAlert('alert-danger', '警告', '服务器异常,请稍后再试!');
console.log("error:", err.statusText);
}
});
};
Bootstrap-table使用记录(转)的更多相关文章
- bootstrap table 学习记录
效果: html代码: <!-- 工具容器 --> <div id="toolbar" class="btn-group"> <b ...
- BootStrap table使用
bootstrap table git address https://github.com/wenzhixin/bootstrap-table 引入文件 <link rel="sty ...
- bootstrap Table 中给某一特定值设置table选中
bootstrap Table 中给某一特定值设置table选中 需求: 如图所示:左边地图人员选定,右边表格相应选中. 功能代码: //表格和图标联动 function changeTableSel ...
- JS组件系列——表格组件神器:bootstrap table
前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...
- JS组件系列——表格组件神器:bootstrap table(二:父子表和行列调序)
前言:上篇 JS组件系列——表格组件神器:bootstrap table 简单介绍了下Bootstrap Table的基础用法,没想到讨论还挺热烈的.有园友在评论中提到了父子表的用法,今天就结合Boo ...
- JS组件系列——表格组件神器:bootstrap table(三:终结篇,最后的干货福利)
前言:前面介绍了两篇关于bootstrap table的基础用法,这章我们继续来看看它比较常用的一些功能,来个终结篇吧,毛爷爷告诉我们做事要有始有终~~bootstrap table这东西要想所有功能 ...
- JS组件系列——Bootstrap Table 表格行拖拽
前言:之前一直在研究DDD相关知识,好久没更新JS系列文章了.这两天做了一个简单的业务需求,觉得效果还可以,今天在这里分享给大家,欢迎拍砖~~ 一.业务需求及实现效果 项目涉及到订单模块,那天突然接到 ...
- 后台系统组件:一丶bootstrap table
http://www.cnblogs.com/landeanfen/p/4976838.html (bootstrap table) http://www.cnblogs.com/landeanfen ...
- .Net MVC+bootstrap Table学习
一.效果展示 二.使用方法 1).相关css和js的引用 <link href="~/Themes/Bootstrap/css/bootstrap.css" rel=&quo ...
- 161222、Bootstrap table 服务器端分页示例
bootstrap版本 为 3.X bootstrap-table.min.css bootstrap-table-zh-CN.min.js bootstrap-table.min.js 前端boot ...
随机推荐
- python学习好文
摘要: 学习别人的学习历程. 一 iTech的博客 http://www.cnblogs.com/itech/archive/2011/01/31/1948265.html
- springMVC 中几种获取request和response的方式
1.最简单方式:参数 例如: @RequestMapping("/test") @ResponseBody public void saveTest(HttpServletRequ ...
- 4G内存服务器的MySQL配置优化
公司网站访问量越来越大(日均超10万PV),MySQL自然成为瓶颈,关于 MySQL 的优化,最基本的是 MySQL 系统参数的优化. MySQL对于web架构性能的影响最大,也是关键的核心部分.My ...
- 【 js 基础 】【 源码学习 】backbone 源码阅读(二)
最近看完了 backbone.js 的源码,这里对于源码的细节就不再赘述了,大家可以 star 我的源码阅读项目(source-code-study)进行参考交流,有详细的源码注释,以及知识总结,同时 ...
- H5入门——HTML部分
一.HTML的基本构成 1.<!DOCTYPE html>文档类型声明 <!--HTML的文档类型声明.声明这个文件是HTML5文件,让浏览器按照HTML5准备进行解析显示.文档类型 ...
- Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求
Java过滤器处理Ajax请求,Java拦截器处理Ajax请求,拦截器Ajax请求 >>>>>>>>>>>>>>&g ...
- HDU 6097---Mindis(二分)
题目链接 Problem Description The center coordinate of the circle C is O, the coordinate of O is (0,0) , ...
- vue模板的几种写法及变化
第一种: 2+版本支持,1+版本支持 <script> <template id="aaa"> <h1>我是组件2</h1> < ...
- Node.js Up and Runing 学习日记(一)
认识一个Node.js程序 HTTP模块是专为快速非阻塞式HTTP服务器而用C重新编写的. 1. var http = require('http'); 2. http.createServer(fu ...
- Eclipse中的Debug
一.Debug的基本过程 设置断点(双击待设断点左边行号处) 进入Debug模式(在待调试类上右键>调试方式,根据需求选择) 开始调试 二.Debug中的常用操作 继续执行[F8]:继续运行程序 ...