第一次动手实现bootstrap table分页效果


Posted in Javascript onSeptember 22, 2016

先上图吧,这就是bootstrap table分页效果图

第一次动手实现bootstrap table分页效果

上代码(这一部分是工具栏的,还包括slider滑动条) 

<div class="box-body">
 <div class="row">
 <div class="form-group col-xs-3" style="width: 432px;">
 <label for="SendUser" class="col-sm-2 control-label">重量</label>
 <div class="col-sm-10">
 <div class="nstSlider"
 id="shapeNstSlider"
 data-aria_enabled="true"
 data-range_min="1"
 data-range_max="3000"
 data-cur_min="1"
 data-cur_max="3000">
 <div id="bar" class="bar"></div>
 <div id="leftGrip" class="leftGrip"></div>
 <div id="rightGrip" class="rightGrip"></div>
 </div>
 <div class="input-prepend input-append pull-left">
 <input class="span2 " id="leftLabel" style="width: 50px;" onblur="leftChange(this)" type="text">
 <span class="add-on"><em>ct</em></span>
 </div>
 <div class="input-prepend input-append pull-right">
 <input class="span2" id="rightLabel" style="width: 50px;" onblur="rightChange(this)" type="text">
 <span class="add-on"><em>ct</em></span>
 </div>
 </div>
 </div>
 <div class="form-group col-xs-3" style="width: 432px;">
 <label for="SendUser" class="col-sm-2 control-label">价格</label>
 <div class="col-sm-10">
 <div class="nstSlider"
 id="priceNstSlider"
 data-aria_enabled="true"
 data-range_min="1000"
 data-range_max="9999999"
 data-cur_min="1000"
 data-cur_max="9999999">
 <div id="priceBar" class="bar"></div>
 <div id="priceleftGrip" class="leftGrip"></div>
 <div id="pricerightGrip" class="rightGrip"></div>
 </div>
 <div class="input-prepend input-append pull-left">
 <input class="span2 " id="priceleftLabel" style="width: 80px;" onblur="priceleftChange(this)" type="text">
 <span class="add-on"><em>RMB</em></span>
 </div>
 <div class="input-prepend input-append pull-right">
 <input class="span2" id="pricerightLabel" style="width: 80px;" onblur="pricerightChange(this)" type="text">
 <span class="add-on"><em>RMB</em></span>
 </div>
 </div>
 </div>
 </div>
 <div class="row">
 <div class="form-group col-xs-3" style="width: 432px;">
 <label for="ReceiveUser" class="col-sm-2 control-label">切工</label>
 <div class="col-sm-10">
 <a class="btn btn-app" h="0" style="background-color: white; width: 57px; height: 40px; line-height: 28px;" onclick="cutChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">EX</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 57px; height: 40px; line-height: 28px;" onclick="cutChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">VG</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 57px; height: 40px; line-height: 28px;" onclick="cutChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">G</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 57px; height: 40px; line-height: 28px;" onclick="cutChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">F</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 57px; height: 40px; line-height: 28px;" onclick="cutChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">P</a>
 </div>
 </div>
 <div class="form-group col-xs-3" style="width: 432px;">
 <label class="col-sm-2 control-label">颜色</label>
 <div class="col-sm-10">
 <a class="btn btn-app" h="0" style="background-color: white;" onclick="colorChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">D</a>
 <a class="btn btn-app" h="0" style="background-color: white;" onclick="colorChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">E</a>
 <a class="btn btn-app" h="0" style="background-color: white;" onclick="colorChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">F</a>
 <a class="btn btn-app" h="0" style="background-color: white;" onclick="colorChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">G</a>
 <a class="btn btn-app" h="0" style="background-color: white;" onclick="colorChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">H</a>
 <a class="btn btn-app" h="0" style="background-color: white;" onclick="colorChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">I</a>
 <a class="btn btn-app" h="0" style="background-color: white;" onclick="colorChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">J</a>
 <a class="btn btn-app" h="0" style="background-color: white;" onclick="colorChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">K</a>
 </div>
 </div>
 </div>
 <div class="row">
 <div class="form-group" style="width: 100%; margin-left: -105px;">
 <label class="col-sm-2 control-label">净度</label>
 <div class="col-sm-10">
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">IF</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">VVS1</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">VVS2</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">VS1</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">VS2</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">SI1</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">SI2</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">I1</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">I2</a>
 <a class="btn btn-app" h="0" style="background-color: white; width: 61px; height: 40px; line-height: 28px;" onclick="clarityChange(this)" onmouseover="coChange(this)" onmouseout="coChange(this)">I3</a>
 </div>
 </div>
 </div>
 </div>
 </div>

下面是表格的

<table id="reportTable" class="table table-bordered table-striped" style="font-size: 10px;"></table>

这一部分是表格的 

$('#reportTable').bootstrapTable({
 method: 'post',
 url: '/qStock/AjaxPage',
 dataType: "json",
 striped: true, //使表格带有条纹
 pagination: true, //在表格底部显示分页工具栏
 pageSize: 22,
 pageNumber: 1,
 pageList: [10, 20, 50, 100, 200, 500],
 idField: "ProductId", //标识哪个字段为id主键
 showToggle: false, //名片格式
 cardView: false,//设置为True时显示名片(card)布局
 showColumns: true, //显示隐藏列 
 showRefresh: true, //显示刷新按钮
 singleSelect: true,//复选框只能选择一条记录
 search: false,//是否显示右上角的搜索框
 clickToSelect: true,//点击行即可选中单选/复选框
 sidePagination: "server",//表格分页的位置
 queryParams: queryParams, //参数
 queryParamsType: "limit", //参数格式,发送标准的RESTFul类型的参数请求
 toolbar: "#toolbar", //设置工具栏的Id或者class
 columns: column, //列
 silent: true, //刷新事件必须设置
 formatLoadingMessage: function () {
 return "请稍等,正在加载中...";
 },
 formatNoMatches: function () { //没有匹配的结果
 return '无符合条件的记录';
 },
 onLoadError: function (data) {
 $('#reportTable').bootstrapTable('removeAll');
 },
 onClickRow: function (row) {
 window.location.href = "/qStock/qProInfo/" + row.ProductId;
 },
 });

这一部分是slider的 

$('#shapeNstSlider').nstSlider({
 "left_grip_selector": "#leftGrip",
 "right_grip_selector": "#rightGrip",
 "value_bar_selector": "#bar",
 "value_changed_callback": function (cause, leftValue, rightValue, prevLeft, prevRight) {
 var $grip = $(this).find('#leftGrip'),
 whichGrip = 'left grip';
 if (leftValue === prevLeft) {
 $grip = $(this).find('#rightGrip');
 whichGrip = 'right grip';
 }

 $(this).parent().find('#leftLabel').val(leftValue / 100);
 $(this).parent().find('#rightLabel').val(rightValue / 100);
 $("#reportTable").bootstrapTable('refresh');
 }
 });

 $('#priceNstSlider').nstSlider({
 "left_grip_selector": "#priceleftGrip",
 "right_grip_selector": "#pricerightGrip",
 "value_bar_selector": "#priceBar",
 "value_changed_callback": function (cause, leftValue, rightValue, prevLeft, prevRight) {
 var $grip = $(this).find('#priceleftGrip'),
 whichGrip = 'left grip';
 if (leftValue === prevLeft) {
 $grip = $(this).find('#pricerightGrip');
 whichGrip = 'right grip';
 }

 $(this).parent().find('#priceleftLabel').val(leftValue);
 $(this).parent().find('#pricerightLabel').val(rightValue);
 $("#reportTable").bootstrapTable('refresh');
 }
 });

这一部分是改变slider的游标之后的 

function leftChange(obj) {
 $('#shapeNstSlider').nstSlider("set_position", $(obj).val(), $("#rightLabel").val());
 $("#reportTable").bootstrapTable('refresh');
 }

 function rightChange(obj) {
 $('#shapeNstSlider').nstSlider("set_position", $("#leftLabel").val(), $(obj).val());
 $("#reportTable").bootstrapTable('refresh');
 }

 function priceleftChange(obj) {
 $('#priceNstSlider').nstSlider("set_position", $(obj).val(), $("#pricerightLabel").val());
 $("#reportTable").bootstrapTable('refresh');
 }

 function pricerightChange(obj) {
 $('#priceNstSlider').nstSlider("set_position", $("#priceleftLabel").val(), $(obj).val());
 $("#reportTable").bootstrapTable('refresh');
 }

这是bootstrap-table带参到后台去的代码 

function queryParams(params) { //配置参数
 var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的
 pageSize: params.limit, //页面大小
 pageNumber: params.pageNumber, //页码
 minSize: $("#leftLabel").val(),
 maxSize: $("#rightLabel").val(),
 minPrice: $("#priceleftLabel").val(),
 maxPrice: $("#pricerightLabel").val(),
 Cut: Cut,
 Color: Color,
 Clarity: Clarity,
 sort: params.sort, //排序列名
 sortOrder: params.order//排位命令(desc,asc)
 };
 return temp;
 }

其它的部分 

function colorChange(obj) { //颜色
 var p = $(obj).parent().children('a');
 if ($(obj).css("background-color") == "rgb(255, 177, 112)") {
 $(obj).css("background-color", "white");
 $(obj).css("color", "black");
 $(obj).attr("h", 1);
 } else {
 $(obj).css("background-color", "#FFB170");
 $(obj).css("color", "white");
 $(obj).attr("h", 0);
 }

 var data = [];
 for (var i = 0; i < $(p).length; i++) {
 var a = $(p)[i];
 if ($(a).attr("h") == "1") {
 data[i] = $(a).text();
 }
 }
 Color = "";
 for (var i = 0; i < data.length; i++) {
 if (data[i] != undefined) {
 Color += "'" + data[i] + "',";
 }
 }
 Color = Color.substring(0, Color.lastIndexOf(',')); //颜色条件
 $("#reportTable").bootstrapTable('refresh');
 }

 function clarityChange(obj) { //净度
 var p = $(obj).parent().children('a');
 if ($(obj).css("background-color") == "rgb(255, 177, 112)") {
 $(obj).css("background-color", "white");
 $(obj).css("color", "black");
 $(obj).attr("h", 1);
 } else {
 $(obj).css("background-color", "#FFB170");
 $(obj).css("color", "white");
 $(obj).attr("h", 0);
 }

 var data = [];
 for (var i = 0; i < $(p).length; i++) {
 var a = $(p)[i];
 if ($(a).attr("h") == "1") {
 data[i] = $(a).text();
 }
 }
 Clarity = "";
 for (var i = 0; i < data.length; i++) {
 if (data[i] != undefined) {
 Clarity += "'" + data[i] + "',";
 }
 }
 Clarity = Clarity.substring(0, Clarity.lastIndexOf(',')); //净度条件
 $("#reportTable").bootstrapTable('refresh');
 }

 function coChange(obj) { //改变颜色事件
 if ($(obj).css("background-color") == "rgb(255, 177, 112)") {
 $(obj).css("background-color", "white");
 $(obj).css("color", "black");
 } else {
 $(obj).css("background-color", "#FFB170");
 $(obj).css("color", "white");
 }
 }

动作方法是这样的 

/// <summary>
 /// 分页数据
 /// </summary>
 /// <param name="pageSize">页面大小</param>
 /// <param name="pageNumber">页码</param>
 /// <param name="CersNo"></param>
 /// <param name="StoneID"></param>
 /// <param name="sort">排序的列名</param>
 /// <param name="sortOrder">排序的命令方式</param>
 /// <returns></returns>
 /// pageSize,pageNumber请不要更改变量名(sort,sortOrder如需排序,请使用这两个参数,不可更改变量名)
 public ActionResult AjaxPage(string minSize, string maxSize, string minPrice, string maxPrice,
 string Shape, string Color, string Cut, string Clarity,
 int? pageSize, int? pageNumber, string sort, string sortOrder)
 { //自己写里面的,返回的是Json数据
 }

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ie中js创建checkbox默认选中问题探讨
Oct 21 Javascript
js中的replace方法使用介绍
Oct 28 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
Dec 29 Javascript
JS判断文本框内容改变事件的简单实例
Mar 07 Javascript
简单谈谈javascript代码复用模式
Jan 28 Javascript
jquery实现键盘左右翻页特效
Apr 30 Javascript
jquery通过name属性取值的简单实现方法
Jun 20 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
Sep 04 Javascript
微信小程序中单位rpx和rem的使用
Dec 06 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
Aug 16 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
Apr 29 Javascript
浅谈javascript事件环微任务和宏任务队列原理
Sep 12 Javascript
JavaScript中三个等号和两个等号的区别(== 和 ===)浅析
Sep 22 #Javascript
Javascript从数组中随机取出不同元素的两种方法
Sep 22 #Javascript
JavaScript面试题大全(推荐)
Sep 22 #Javascript
JavaScript 是什么意思
Sep 22 #Javascript
利用Node.js制作爬取大众点评的爬虫
Sep 22 #Javascript
JavaScript与java语言有什么不同
Sep 22 #Javascript
JavaScript中数组slice和splice的对比小结
Sep 22 #Javascript
You might like
php 中英文语言转换类代码
2011/08/11 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
2014/11/03 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
php实现的一段简单概率相关代码
2016/05/30 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
JS延迟加载(setTimeout) JS最后加载
2010/07/15 Javascript
一个支持任意尺寸的图片上下左右滑动效果
2014/08/24 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
JavaScript数据类型学习笔记
2016/01/25 Javascript
Javascript实现图片不间断滚动的代码
2016/06/22 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
谈谈对vue响应式数据更新的误解
2017/08/01 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
跟老齐学Python之dict()的操作方法
2014/09/24 Python
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
python中cPickle类使用方法详解
2018/08/27 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
详解Python对JSON中的特殊类型进行Encoder
2019/07/15 Python
Python netmiko模块的使用
2020/02/14 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
瑞典度假品牌:OAS
2019/05/28 全球购物
圣彼得堡鲜花配送:Semicvetic
2020/09/15 全球购物
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
护士自荐信范文
2013/12/15 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
党员年度个人总结
2015/02/14 职场文书
借条格式范本
2015/05/25 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
MySQL约束超详解
2021/09/04 MySQL