$(function(){
(function($, document, undefiend){
$.fn.pagination = function(options){
var $this = $(this);
var defaults = {
pageNo : 1,
pageSize : 50,
totalPages : 1,
totalRecords : 1,
goToPage : $.noop
} var _opt = $.extend({}, defaults, options);
var totalRecordHtml = ' <span class="num">共'+_opt.totalRecords+'条记录</span>'; var btnDivHtml = '<div class="pageBtn">'
+'<span class="pageNum pageNo">第<input type="text" value="'+_opt.pageNo+'" class="input_page"/>页</span>'
+'<span class="allpage">共'+_opt.totalPages+'页</span><span>每页'+_opt.pageSize+'条</span><span class="goBtn">go</span>'
+'</div>'; $this.empty()
.append(totalRecordHtml).append(btnDivHtml); var goBtn = $this.find('.goBtn'); $this.on('keyup','.pageNo',function(e){
if(e.keyCode == 13){//回车
goBtn.click();
}
}) goBtn.on('click',function(){
var pageNoInput = $this.find('.pageNo').find('input');
var _pageNo = pageNoInput.val();
if(!isNaN(_pageNo)){
var pageNo = parseInt(_pageNo);
if(0<pageNo && pageNo<=_opt.totalPages){
_opt.goToPage(pageNo);
return;
}
}
pageNoInput.val(_opt.pageNo);
}); }
})($, document); }) $(function(){
new PriceMonitor(); })
function PriceMonitor(){
this.initialize();
this.loadData(this.province_id,this.month,1);
this.getUrlArgument(name);
this.serchBox();
} PriceMonitor.prototype={
initialize:function(){
this.checkBox = $(".selectBox");
this.select_cor = $(this.checkBox).find("#select_area");
this.month_input = $(this.checkBox).find("#cycleMonth");
this.select_input =$(this.select_cor).find("#provinceId");
this.select_hide_box =$(this.select_cor).find(".hide_select_box2");
this.select_li =$(this.select_cor).find(".select_demo").children("li");
this.serachBtn = $(this.checkBox).find(".refreshBtn");
this.download_btn = $(".download_pc");
//创建表格
this.table = $(".priceMonitor");
this.headName = $('<table class="tableHead"><tr></tr></table>');
this.dataWrap = $('<div class="tableList"></div>');
this.tableList =$('<table></table>');
//获取url参数
this.province_id =this.getUrlArgument("groupprovince");
this.month = '';
this.pageSize = 20; },
serchBox:function(){
var own = this;
//点击省下拉效果
$(own.select_input).click(function(){
if($(own.select_hide_box).is(":hidden")){
$(own.select_hide_box).slideDown();
}else{
$(own.select_hide_box).slideUp();
}
});
//选择省份 $(own.select_li).hover(function(){
$(this).addClass("on").siblings().removeClass("on");
}).click(function(){
var text = $(this).text();
var val = $(this).data("tree-id");
$(own.select_input).val(text);
$(own.select_input).attr("data-id",val);
$(this).addClass("on").siblings().removeClass("on");
$(own.select_hide_box).slideUp();
});
//搜索按钮
$(own.serachBtn).click(function(e,data){
var pageNo = 1;
if(data && data.pageNo){
pageNo = data.pageNo;
}
var time_val = $("#cycleMonth").val();
var pro_id ="";
if($(own.select_cor).is(":hidden")){
pro_id = own.province_id;
}else{
pro_id = $(own.select_input).attr("data-id");
}
if(time_val==""||time_val==undefined){
alert("请选择时间!")
}else{
own.loadData(pro_id,time_val,pageNo);
}
});
//下载按钮
$(own.download_btn).click(function(){
var month = $(own.month_input).val();
var pro_id ="";
if($(own.select_cor).is(":hidden")){
pro_id = own.province_id;
}else{
pro_id = $(own.select_input).attr("data-id");
}
$(this).attr('href',contextPath+'/downPriceMonitor?province='+pro_id+'&month='+month) }); }, loadData:function(pro,month,pageNo){
var own = this;
var the_url = contextPath+'/getPriceMonitor?province='+pro+'&month='+month+'&pageSize='+own.pageSize+'&pageNo='+pageNo;
if(own.province_id==10){
$(own.select_cor).show();
}else{
$(own.select_cor).hide();
}
$.ajax({
url:the_url,
type:'GET',
dataType:'json',
beforeSend:function(){
$(own.table).empty()
.append('<div class="loading"><img src="/resources/images/loading.gif" /></div>');
},
success:function(data){
$(own.table).empty();
var json = $.parseJSON(data);
if(json.code==0){
own.initInfo(json.data);
own.page(json.data.page);
}else{
$(".priceMonitor").empty().append('<div class="fail">数据加载失败,请稍后再试!</div>');
} },
error:function(){
$(".priceMonitor").empty().append('<div class="fail">服务器繁忙,请稍后再试!</div>'); }
})
}, initInfo:function(jsonData){
var own = this;
$(own.month_input).val(jsonData.month);
$(own.table).empty();
$(own.table).append($(this.headName),$(own.dataWrap).append(own.tableList));
var head = jsonData.headers;
/*表头*/
$(own.headName).find('tr').empty();
var i = 0;
for(var vv in head){
var width;
var val = head[vv];
if(i==0){
width = 120
}else if(i==1){
width = 280
}else{
width = 90;
}
$(this.headName).find('tr').append('<th width="'+width+'">'+val+'</th>');
i++;
}
/*表格数据列表*/
var listData = jsonData.page.list;
$(own.tableList).empty();
for(var k=0; k<listData.length;k++){
if(k%2==0){
var $tr = $('<tr class="odd"></tr>');
}else{
var $tr = $("<tr></tr>");
}
$(own.tableList).append($tr);
var row_val = listData[k];
var j=0;
for(var v in row_val){
var td_width = $(own.headName).find('th:eq('+j+')').width();
span_val = row_val[v];
$tr.append('<td width="'+td_width+'">'+span_val+'</td>');
j++;
}
} },
page:function(option){
var own = this; $('.paginator').pagination({
pageNo : option.pageNo,
pageSize : own.pageSize,
totalPages : option.totalPages,
totalRecords : option.totalRecords, goToPage : function(pageNo){
$(own.serachBtn).trigger('click',{pageNo:pageNo});
}
})
},
getUrlArgument : function(name){
var search = document.location.search;
var pattern = new RegExp("[?&]"+name+"=([^&]+)");
var matcher = pattern.exec(search);
var items = null;
if(null != matcher){
try{
items = decodeURIComponent(decodeURIComponent(matcher[1])); }catch(e){
try{
items = decodeURIComponent(matcher[1]);
}catch(e){
items = matcher[1];
}
}
}
return items;
}
}

  

js jquery 插件的更多相关文章

  1. js/jquery/插件表单验证

    媳妇要学js,就收集一些资料给她. 1.js 表单验证 : http://hi.baidu.com/yanchao0901/item/161f563fb84ea5433075a1eb 2.jquery ...

  2. JS原生ajax与Jquery插件ajax深入学习

    序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...

  3. Jquery 插件\Js 插件收集

    1.linq.js 使得js 的数组像c#的linq操作一下样 http://linqjs.codeplex.com/ 2.分页插件 https://github.com/mricle/Mricode ...

  4. js最详细的基础,jquery 插件最全的教材

    一.Js的this,{},[] this是Javascript语言的一个关键字,随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是调用的函数自己. { } 大括号 ...

  5. Permit.js – 用于构建多状态原型的 jQuery 插件

    Permit.js 是一个 jQuery 插件,用于构建交互的,多态的网站原型和应用程序原型.也许你的网站有的功能仅适用于登录的成员,只有管理员才能使用或者你的应用程序会根据线上或离线有不同的功能,这 ...

  6. 如何将Js代码封装成Jquery插件

    很多相同的Jquery代码会在很多页面使用,每次都复制粘贴太麻烦了,不如封装成一个Jquery插件就方便了,至于影响网页的速度不,我就没有测试了哈. 代码如下 这是一个自定闪烁打印文字的Jquery特 ...

  7. jQuery插件之验证控件jquery.validate.js

    今天学习一下jQuery.Validate插件,为便于日后翻阅查看和广大博客园园友共享,特记于此. 本博客转载自:jQuery Validate jQuery Validate 插件为表单提供了强大的 ...

  8. jquery插件lazyload.js延迟加载图片的使用方法

    如果一个网页很长并且有很多图片的话,下载图片就需要很多时间,那么就会影响整个网页的加载速度,而这款延迟加载插件,会通过你的滚动情况来加载你需要看的图片,然后它才会从后台请求下载图片,最后显示出来.通过 ...

  9. jQuery插件 -- 表单验证插件jquery.validate.js, jquery.metadata.js

    原文地址:http://blog.csdn.net/zzq58157383/article/details/7718352   最常使用JavaScript的场合就是表单的验证,而jQuery作为一个 ...

随机推荐

  1. 19年的桌面KDE的风雨和陪伴,没有什么能够割舍

    概述 KDE是史上功能最强大的桌面环境之一:开源且可自由使用.19年前,1996年10月14日,德国程序员 Matthias Ettrich 开始了这个美观的桌面环境的开发.KDE 提供了用户界面以及 ...

  2. 解决redis在windows下使用start命令行调起时闪退的问题

    start powershell "redis-server.exe" "redis-server.exe" 改成redis-server.exe的绝对路径即可 ...

  3. Codeforces Gym 101471D Money for Nothing(2017 ACM-ICPC World Finals D题,决策单调性)

    题目链接  2017 ACM-ICPC World Finals Problem D (这题细节真的很多) 把所有的(pi,di)按横坐标升序排序. 对于某个点,若存在一个点在他左下角,那么这个点就是 ...

  4. Apollo 分布式配置中心

    1.  介绍 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置 ...

  5. 【redis】redis实现API接口调用调用次数的限制

    redis实现API接口调用调用次数的限制 参考地址:https://bbs.csdn.net/topics/391856106?page=1 参考地址:https://www.cnblogs.com ...

  6. testNG配置dataSource多数据源

    spring的XML配置好之后,运行testNG还会出问题. 搞定代码如下: /** * 基于Spring的服务层测试超类 * * @author chief */ @ContextConfigura ...

  7. ArrayList和HashSet的比较

    ArrayList是数组存储的方式 HashSet存储会先进行HashCode值得比较(hashcode和equals方法),若相同就不会再存储 HashCode和HashSet类 Hashset就是 ...

  8. SSH 框架搭建与开发

    对于Java初学者而言,SSH框架还是比较复杂的,今天借用一个Web注册功能的案例给大家讲解下,主要是讲下开发模式与注意事项! 注册界面如下所示: 1.首先建库建表(我用的是Mysql数据库,大家可以 ...

  9. 用PROXYCHAINS实现SSH全局代理

    NUX下可以实现SSH全局代理的软件有tsocks和proxychains两种,但是个人感觉proxychains要更加稳定简单. $ yum install proxychains # vim /e ...

  10. 重读金典------高质量C编程指南(林锐)-------第三章 命名规则

      3.1  共性规则 规则:标识符应该直观且可以拼读,可进行英语翻译. 规则:标识符的长度需要控制好,不应该太长. 规则:命名规则应该同操作系统或者开发工具等保持一致,比如大小写混用.AddChar ...