jquery插件方式实现table查询功能的简单实例


Posted in Javascript onJune 06, 2016

1. 写插件部分,如下:

;(function($){

$.fn.plugin = function(options){



var defaults = {




//各种属性,各种参数



}



var options = $.extend(defaults, options);

 

this.each(function(){




//功能代码




var _this = this;



});


}

})(jQuery);

附上一个例子:

;(function($){
  $.fn.table = function(options){
  var defaults = {
      //arguments , properties
      evenRowClass : 'evenRow',
      oddRowClass : 'oddRow',
      currentRowClass : 'currentRow',
      eventType : 'mouseover',
      eventType2 : 'mouseout',
    }  
    var options = $.extend(defaults, options);

    this.each(function(){

      //function code
      var _this = $(this);
      //even row
      _this.find('tr:even:not("#thead")').addClass(options.evenRowClass);
      //_this.find('#thead').removeClass(options.evenRowClass);
      // odd row 
      _this.find('tr:odd').addClass(options.oddRowClass);

      /*_this.find('tr').mouseover(function(){
        $(this).addClass(options.currentRowClass);
      }).mouseout(function(){
        $(this).removeClass(options.currentRowClass);
      });*/

      _this.find('tr').bind(options.eventType, function(){
        $(this).addClass(options.currentRowClass);
      });

      _this.find('tr').bind(options.eventType2, function(){
        $(this).removeClass(options.currentRowClass);
      });

    });
    return this;
  }
})(jQuery);

html部分调用插件如下:

();== ();==(function(){});==$(document).ready();

等页面加载成功后执行

;$(function(){

$('#table1').table({
  
 
 //arguments , properties
 
evenRowClass : 'evenRow1',

 oddRowClass : 'oddRow1',
 
currentRowClass : 'currentRow1' 
 });

});

附上代码:

<!doctype html>
<html lang="en">
 <head>
 <meta charset="UTF-8">
 <meta name="Generator" content="EditPlus®">
 <meta name="Author" content="">
 <meta name="Keywords" content="">
 <meta name="Description" content="">
 <title>Document</title>
 <style>
  *{margin:0; padding:0;}
  table{
    border-collapse:collapse;
    width:100%;
    border:1px solid red;
    margin-top:50px;
    text-align:center;
  } 
  
  tr, th, td{
    height:30px;
    border:1px solid red;
  }
  .evenRow1{
    background:red;
  }
  .oddRow1{
    background:orange;
  }
  .currentRow1{
    background:blue;
  }
  #ss{
    float:right;
    margin-right:100px;
  }
  #search{
    font-size:14px;
    width:50px;
  }

 </style>
    <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  <script src="jquery-table-1.0.js"></script>
 </head>
 <body>
 <script>
 ;$(function(){
  $('#table1').table({
      
    //arguments , properties
    evenRowClass : 'evenRow1',
    oddRowClass : 'oddRow1',
    currentRowClass : 'currentRow1'  
    
  });

  $('input[type=button]').click(function(){
      var text = $('input[type=text]').val();
      $('#table1 tr:not("#thead")').hide().filter(':contains("'+text+'")').show();
    });

  });

 </script>

  <div id="ss">
 <input type="text" placeholder="请输入查询数据">
 <input id="search" type="button" value="查询">
 </div>

 <table id="table1">
  <tr id="thead">
    <th>姓名</th>
    <th>学号</th>
    <th>性别</th>
    <th>年龄</th>

  </tr>
  <tr>
    <td>张三</td>
    <td>1</td>
    <td>男</td>
    <td>20</td>
  </tr>

  <tr>
    <td>李四</td>
    <td>2</td>
    <td>男</td>
    <td>30</td>
  </tr>
  <tr>
    <td>张三</td>
    <td>1</td>
    <td>女</td>
    <td>20</td>
  </tr>

  <tr>
    <td>李四</td>
    <td>2</td>
    <td>男</td>
    <td>30</td>
  </tr>
  <tr>
    <td>王五</td>
    <td>3</td>
    <td>男</td>
    <td>30</td>
  </tr>
  <tr>
    <td>王五</td>
    <td>3</td>
    <td>男</td>
    <td>30</td>
  </tr>
  <tr>
    <td>张三</td>
    <td>1</td>
    <td>女</td>
    <td>20</td>
  </tr>

  <tr>
    <td>李四</td>
    <td>2</td>
    <td>男</td>
    <td>30</td>
  </tr>

 </table>
 </body>
</html>

通过这个例子学到了jquery 对象级插件开发

以上这篇jquery插件方式实现table查询功能的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript在for循环中绑定事件解决事件参数不同的情况
Jan 20 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
Sep 10 Javascript
js实现的倒计时按钮实例
Jun 24 Javascript
跟我学习javascript的隐式强制转换
Nov 16 Javascript
HTML5+jQuery实现搜索智能匹配功能
Mar 24 jQuery
详解基于node的前端项目编译时内存溢出问题
Aug 01 Javascript
微信小程序getPhoneNumber获取用户手机号
Sep 29 Javascript
vue二级路由设置方法
Feb 09 Javascript
详解JavaScript中的数组合并方法和对象合并方法
May 11 Javascript
Vue动态生成表格的行和列
Jul 18 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
Sep 11 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
Jul 20 Javascript
全面解析Bootstrap中tab(选项卡)的使用方法
Jun 06 #Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
Jun 06 #Javascript
JavaScript 数组中最大最小值
Jun 05 #Javascript
使用three.js 画渐变的直线
Jun 05 #Javascript
jquery判断input值不为空的方法
Jun 05 #Javascript
jQuery四种选择器使用及示例
Jun 05 #Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
Jun 05 #Javascript
You might like
虚拟主机中对PHP的特殊设置
2006/10/09 PHP
PHP错误处理函数
2016/04/03 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
优化Jquery,提升网页加载速度
2013/11/14 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
基于BootStrap Metronic开发框架经验小结【三】下拉列表Select2插件的使用
2016/05/12 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
2016/11/07 Javascript
监控微信小程序中的慢HTTP请求过程详解
2019/07/05 Javascript
在微信小程序中使用mqtt服务的方法
2019/12/13 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
Python continue语句用法实例
2014/03/11 Python
Python实例之wxpython中Frame使用方法
2014/06/09 Python
python中nan与inf转为特定数字方法示例
2017/05/11 Python
对python中的控制条件、循环和跳出详解
2019/06/24 Python
Python GUI自动化实现绕过验证码登录
2020/01/10 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
matplotlib基础绘图命令之bar的使用方法
2020/08/13 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
介绍一下代理模式(Proxy)
2014/10/17 面试题
简单的JAVA编程面试题
2013/03/19 面试题
中学生在校期间的自我评价分享
2013/11/13 职场文书
社区安全检查制度
2014/02/03 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
保留意见审计报告
2015/06/05 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
2016年父亲节寄语
2015/12/04 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
Mysql MVCC机制原理详解
2021/04/20 MySQL