$(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. Turn on and off trigger events 生效控制

    平台 Qualcomm 解說 Qualcomm 平台的 Turn-on event 有 KYPD_PWR_N,CBL_PWR_N,.... 也有 PMIC reset and power-off ev ...

  2. strcpy_s 函数的用法

    strcpy_s和strcpy()函数的功能几乎是一样的. strcpy函数,就象gets函数一样,它没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串.在程序运行时,这将导 ...

  3. 10.1综合强化刷题 Day6

    T1 排序 题目描述 小Z 有一个数字序列a1; a2; .... ; an,长度为n,小Z 只有一个操作:选 定p(1<p<n),然后把ap 从序列中拿出,然后再插⼊到序列中任意位置. ...

  4. 2016北京集训测试赛(六)Problem B: 矩阵

    Solution 最小割. 参考BZOJ 3144切糕 在那道题的基础上将建图方法稍作变形: 我们对格子进行黑白染色, 对于两个格子之和\(\le k\)的限制, 就可以确定其中一个是白色格子, 一个 ...

  5. 转:ospf学习-----SPF最短路径算法

    ospf学习-----SPF最短路径算法 常见的路由协议比如RIP.IGRP.BGP是距离矢量协议,OSPF和ISIS是数据链路状态协议.矢量协议路由器只知道本身和与自身相连的接口路由信息,矢量图只是 ...

  6. [转载]robo3t在Ubuntu 16.04中报错的解决方法

    [问题] MongoDB的客户端robo3t在,Ubuntu 16.04中启动时报一个QT的错误: This application failed to start because it could ...

  7. VirtualBox 扩展虚拟硬盘容量

    转载:VirtualBox 扩展虚拟硬盘容量 如果使用的是ubuntu主机加xp虚拟机,扩容后,xp还无法识别扩大后的硬盘部分,可以在xp下使用“分区助手”进行处理,即将扩大的空间分给C盘.

  8. “应用程序无法正常启动(oxc000007b)”解决方案

  9. 【java】安全加密MessageDigest的功能及用法【hash一致性算法】

    链接地址:https://blog.csdn.net/ma1kong/article/details/2662997 1.查看MessageDigest源码的注释说明 2.和hash一致性算法 什么关 ...

  10. mac python 切换系统默认版本

    1 找到所安装python路径/usr/local/Cellar/python/2.7.13/bin2 vim ~/.bash_profile 3 添加如下代码: PATH="/usr/lo ...