js jquery 插件
$(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 插件的更多相关文章
- js/jquery/插件表单验证
媳妇要学js,就收集一些资料给她. 1.js 表单验证 : http://hi.baidu.com/yanchao0901/item/161f563fb84ea5433075a1eb 2.jquery ...
- JS原生ajax与Jquery插件ajax深入学习
序言: 近来随着项目的上线实施,稍微有点空闲,闲暇之时偶然发现之前写的关于javascript原生xmlHttpRequest ajax方法以及后来jquery插件ajax方法,于是就行了一些总结,因 ...
- Jquery 插件\Js 插件收集
1.linq.js 使得js 的数组像c#的linq操作一下样 http://linqjs.codeplex.com/ 2.分页插件 https://github.com/mricle/Mricode ...
- js最详细的基础,jquery 插件最全的教材
一.Js的this,{},[] this是Javascript语言的一个关键字,随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是调用的函数自己. { } 大括号 ...
- Permit.js – 用于构建多状态原型的 jQuery 插件
Permit.js 是一个 jQuery 插件,用于构建交互的,多态的网站原型和应用程序原型.也许你的网站有的功能仅适用于登录的成员,只有管理员才能使用或者你的应用程序会根据线上或离线有不同的功能,这 ...
- 如何将Js代码封装成Jquery插件
很多相同的Jquery代码会在很多页面使用,每次都复制粘贴太麻烦了,不如封装成一个Jquery插件就方便了,至于影响网页的速度不,我就没有测试了哈. 代码如下 这是一个自定闪烁打印文字的Jquery特 ...
- jQuery插件之验证控件jquery.validate.js
今天学习一下jQuery.Validate插件,为便于日后翻阅查看和广大博客园园友共享,特记于此. 本博客转载自:jQuery Validate jQuery Validate 插件为表单提供了强大的 ...
- jquery插件lazyload.js延迟加载图片的使用方法
如果一个网页很长并且有很多图片的话,下载图片就需要很多时间,那么就会影响整个网页的加载速度,而这款延迟加载插件,会通过你的滚动情况来加载你需要看的图片,然后它才会从后台请求下载图片,最后显示出来.通过 ...
- jQuery插件 -- 表单验证插件jquery.validate.js, jquery.metadata.js
原文地址:http://blog.csdn.net/zzq58157383/article/details/7718352 最常使用JavaScript的场合就是表单的验证,而jQuery作为一个 ...
随机推荐
- error LNK2001: unresolved external symbol __imp__WSAStartup@8 SOCKET(转)
VC6.0下的错误信息: error LNK2001: unresolved external symbol __imp__socket@12 error LNK2001: unresolved ex ...
- linux中的strip命令简介------给文件脱衣服【转】
转自:http://blog.csdn.net/stpeace/article/details/47090255 版权声明:本文为博主原创文章,转载时请务必注明本文地址, 禁止用于任何商业用途, 否则 ...
- Python Challenge 第七关
第七关,只有一张图片,右键源代码也什么都没有,只是这图片上有一行类似马赛克一样的部分.看来答案只有在这张图上找了.下载了图片,去网上搜一下有什么库可以处理图像.搜到了一个PIL,发现安装的python ...
- Python环境安装与配置
1.官网下载:https://www.python.org/选择不同的版本 2.进入运行:使用pip安装selenium 3.设置pip的环境变量 4.安装后使用pip(一个Python包管理工具)安 ...
- python中mp3转wav(Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work")
1.下载pydub:pip install pydub 2.下载与操作系统一致的ffmpeg:http://ffmpeg.org/download.html 3.解压后将下载的ffmpeg下的bin目 ...
- NOIP2016模拟赛三 Problem B: 神奇的树
题面 Description 有一棵神奇的树.这棵树有N个节点,在每个节点上都有宝藏,每个宝藏价值V[i]金币:对于每条边,每经过一次都要花费C[i]金币. 值得注意的是,每个宝藏只能领取一次(也可以 ...
- SecureCRT设置和Xshell一样的快速命令集(使用快捷键输入命令和密码)
编辑想要的命令 提示:想要回车直接输入[\r]
- NormalMap 贴图 [转]
转载: http://www.zwqxin.com/archives/shaderglsl/review-normal-map-bump-map.html 说起Normal Map(法线贴图),就 ...
- git-for-windows 安装无图标的问题
git-for-windows.ico 安装无图标的问题 一. 问题表现: 桌面图标与右建菜单图标,所是未知文件的图标, 二. 问题解决: 在shard/git/ copy 一个ico 文件(如git ...
- linux中top命令的用法
收集了两篇关于介绍Linux中监控命令top命令的详细使用方法的文章.总的来说,top命令主要用来查看Linux系统的各个进程和系统资源占用情况,在监控Linux系统性能方面top显得非常有用,下面就 ...