JQueryMiniUI按照时间进行查询的实现方法


Posted in jQuery onJune 07, 2017

考核的事情已经变成了上一年了,当时要做一个图书管理系统,但是当时因为在按照时间进行搜索的时候,无法将前台的数据传递到后台,所以失去了一部分,现在重看,其实也不过尔尔,反而然我有一种只是当时枉然的意味。好了,那么如何将前台的时间数据传递到后台,其实如果是普通的传递倒也是无所谓的,因为有特殊的功能是在搜索的时候实现

所以要在加载页面的时候传递数据,jQuery-MINI UI如何实现:

其实我们要要做的事情是将数据显示到表格中,那么我们就要看一开始是如何实现的:

前台千篇一律如此:

<div id="datagrid1" class="mini-datagrid" style="width: 1000px; height: 280px;"  
    url="../index?method=listAll" idField="id" multiSelect="true" sizeList="[5,10,15]" pageSize="10" 
    > 
    <div property="columns"> 
      <div type="checkcolumn"></div> 
      <div type="indexcolumn">序号</div> 
      <div field="bookGuid" width="60" headerAlign="center" allowSort="true">图书编号</div> 
      <div field="bookName" width="60" headerAlign="center" allowSort="true">图书名称</div> 
      <div field="bookType" class="mini-combobox" width="60" renderer="onTypeRenderer">图书类别</div> 
      <div field="suitable" width="60" renderer="onSuitRenderer">适合人群</div> 
      <div field="buyDate" width="150" headerAlign="center" dateFormat="yyyy-MM-dd HH:mm:ss" allowSort="true">入库日期</div> 
      <div field="count" width="60" style="color:red">借阅次数</div> 
      <div field="remark" width="60" style="color:red">备注</div> 
      <div name="action" width="120" headerAlign="center" align="center" renderer="onActionRenderer" cellStyle="padding:0;">操作</div> 
    </div> 
  </div>

上面是我们的表格显示的内容,mini-ui在页面进行加载的时候就会初始化表格所以说在div中我们有一个url属性,也就是告诉我们数据的来源

url="../index?method=listAll"

在页面进行加载的时候回调用listAll这个方法,我们进行搜索的时候也会去调用这个方法,但是我们会传递数据到后台

那么在js重我们该如何编写,首先我们来看看不需要传递数据到到后台,怎样来加载这个表格

var grid = mini.get("datagrid1"); 
    grid.load();

那么我们在点击搜索的时候,是不是要进行传递数据到后台:

function search() { 
      var type1 = mini.get("type1").getValue(); 
      var date1=mini.get("date1").getValue(); 
      var timestamp = Date.parse(date1); 
      grid.load({ 
        type1:type1, 
        timestmp:timestamp 
       
      }); 
    }

按照上面我们就可以在后台的listAll中对接收到的数据进行判断,然后显示对应的数据

这个地方有一个特点时间的传递并不是按照yyyy-MM-dd这种格式,而是利用时间戳传递到后台,也就是说传递的是一个long类型是数据,我们来看一看后台是怎样进行接收的

public void listAll(HttpServletRequest request, HttpServletResponse response) throws Exception{ 
  String type=request.getParameter("type1"); 
    String lstr=request.getParameter("timestmp"); 
  long time=0; 
  if(lstr!=null && isNumeric(lstr)){ 
    time=Long.parseLong(lstr); 
  } 
  Date date1=new Date(); 
  date1.setTime(time); 
  Date date2=new Date(); 
  date2.setTime(time+24*60*60*1000); 
  SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd"); 
  String sql="select * from bookinfo"; 
  if(type!= null && type.length()>0 && time==0) 
  { 
    sql="select * from bookinfo where booktype="+Integer.parseInt(type); 
  } 
  else if(time!=0 && type.length()==0) 
  { 
    sql ="select * from bookinfo where buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\""; 
  } 
  else if(time!=0 && type.length()>0) 
  { 
    sql ="select * from bookinfo where booktype="+Integer.parseInt(type)+" and buydate between \""+ sdf.format(date1) +"\" and \""+sdf.format(date2)+"\""; 
  } 
  else 
  { 
    sql ="select * from bookinfo"; 
  } 
  System.out.println(sql); 
  //要知道的是联合查询中需要得到的List也是显示出来的 
  List list=mdao.getList(sql); 
    //实现的是分页 
    int pageSize=Integer.parseInt(request.getParameter("pageSize")); 
    int pageIndex=Integer.parseInt(request.getParameter("pageIndex")); 
    List sub_list=new ArrayList<>(); 
    int start=pageIndex*pageSize; 
    for(int i=start;i<list.size() && i<start+pageSize;i++) 
    { 
      sub_list.add(list.get(i)); 
    } 
    String json=JsonUtil.listToJson(sub_list, "yyyy-MM-dd hh:mm:ss"); 
    System.out.println(json); 
    json=JsonData.modifyJson(json); 
    json=json.replaceFirst("null", list.size()+""); 
    response.getWriter().write(json); 
 
  }

然后在后台将时间戳转换成为一定的格式,我们就可以在数据库中户进行搜索了,还有的是sql语句中时间两边是要加上双引号的。

总之,我们利用JQuerymini-ui在进行数据时间数据传递的时候,如果仅仅传递一个时间,那么时间的格式并不是我们想要的那么满意,而且在后台我们要进行各种各样的判断,现在我们传递时间戳会减少一些判断,并且时间的格式也可以很容易的进行转换。

以上这篇JQueryMiniUI按照时间进行查询的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery插件开发发送短信倒计时功能代码
May 09 jQuery
jQuery ajax动态生成table功能示例
Jun 14 jQuery
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
jQuery+SpringMVC中的复选框选择与传值实例
Jan 08 jQuery
vue-cli webpack 引入jquery的方法
Jan 10 jQuery
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 jQuery
jQuery HTML设置内容和属性操作实例分析
May 20 jQuery
jQuery实现异步上传一个或多个文件
Aug 17 jQuery
jquery实现图片放大镜效果
Dec 23 jQuery
jquery仿京东商品放大浏览页面
Jun 06 #jQuery
jquery实现图片放大点击切换
Jun 06 #jQuery
jquery请求servlet实现ajax异步请求的示例
Jun 03 #jQuery
Jquery EasyUI $.Parser
Jun 02 #jQuery
Spring shiro + bootstrap + jquery.validate 实现登录、注册功能
Jun 02 #jQuery
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 #jQuery
jQuery实现web页面樱花坠落的特效
Jun 01 #jQuery
You might like
你可能不知道PHP get_meta_tags()函数
2014/05/12 PHP
php常用文件操作函数汇总
2014/11/22 PHP
PHP定时执行任务的3种方法详解
2015/12/21 PHP
php实现给一张图片加上水印效果
2016/01/02 PHP
yii2中LinkPager增加总页数和总记录数的实例
2017/08/28 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
理解Javascript_11_constructor实现原理
2010/10/18 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
js获取上传文件大小示例代码
2014/04/10 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
JS根据key值获取URL中的参数值及把URL的参数转换成json对象
2015/08/26 Javascript
Boostrap入门准备之border box
2016/05/09 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
jQuery ajax 当async为false时解决同步操作失败的问题
2016/11/18 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
基于jQuery ztree实现表格风格的树状结构
2018/08/31 jQuery
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
解决python3在anaconda下安装caffe失败的问题
2017/06/15 Python
python 中random模块的常用方法总结
2017/07/08 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
OpenCV图像颜色反转算法详解
2019/05/13 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
python-sys.stdout作为默认函数参数的实现
2020/02/21 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
欧洲最大的高尔夫零售商:American Golf
2019/09/02 全球购物
AudioContext 实现音频可视化(web技术分享)
2022/02/24 Javascript