zoukankan      html  css  js  c++  java
  • 【jQuery基础学习】04 jQuery中的表格操作及cookie插件的使用

     这章本来准备写成jQuery的表单操作和表格操作的。

    然而昨天吧jQuery的表单操作看完,发现全部在炒之前章节的剩饭,所以就没写出来。

    那么今天就来看看表格吧。

    因为平常做的都是公司的内部管理系统,所以说数据表格用到的还是比较多的。那么在这里写出来说不定还能用上。

    关于jQuery的表格应用

    • 隔行变色
      $(function(){
        $("tbody>tr:odd").addClass("样式1");//odd是选取奇数行
        $("tbody>tr:even").addClass("样式2");//even是选取偶数行
      })
    • 单选框控制表格行高亮
      $('tbody>tr').click(function(){
        $(this).addClass('选中样式').siblings().removeClass('选中样式').end().find(':radio').attr('checked',true);
      //请注意这里的end(),当用了siblings()后,后面所有的元素实际上操作的是this的统计元素,而用了end()后就回到了之前的$(this)元素
      });
      //注意到我们最开始初始化表格的时候,如果默认有单选框被选中,那么也需要进行处理。
      $(table :radio:checked).parent().parent().addClass('selected');
      //或者
      $(table :radio:checked).parents("tr").addClass('selected');
      //或者
      $(table>tr:has(:checked)).addClass('selected');
    • 复选框控制表格行高亮
      //最简单的那种就不写了,看看下面这种
      $('tbody>tr').click(function(){
        //判断当前是否选中
        var hasSelected=$(this).hasClass('selected');
        $(this)[hasSelected?"removeClass":"addClass"]('selected')
           .find(':checkbox').attr("checked",!hasSelected);
      });
      //本示例突出[hasSelected?"removeClass":"addClass"]这种玩法
      //这实际上就是javascript的用法,因为一个对象里面的东西既可以用.这样的形式取出来,又可以用类似数组的形式取出来
    • 表格展开关闭
      //这种情况就是解决表格里面行数据有层级结构的
      $(function(){
          $('tr .parent').click(function(){
              $(this).toggleClass("selected")
                     .siblings('.child_'+this.id).toggle();
          })
      })
    • 表格内容筛选
      //下面是表格的筛选操作
      $(function(){
          $("#filterName").keyup(function(){
              $("table tbody tr").hide()
                  .filter(":contains('"+($(this).val())+"')").show();
          });
      });
      //这种一般都是用不上,因为我们要的表格一般都是翻页的,然后去后台查筛选,然后传数据给前台。

    好吧,这本书本章的其他节都是在炒剩饭,唯一新用到的函数是

    var $div_li=$("li");
    $div_li.click(function(){
        var index=$div_li.index(this);//这种用法很有趣,其次就是index这个函数,是用于在选择出来的元素中,然后根据元素来获取元素的索引
    })

    还有就是js可以操作整个样式表的替换(这个我以前真的没玩过)

    <link href="css/skin_0.css" rel="stylesheet" type="text/css" id="cssfile" />
    $(function(){
       $("#cssfile").attr("href","css/skin_1.css"); 
    })

    还介绍了jQuery的一款操作cookie的小插件,可以帮忙简化cookie操作

    <script src="js/jquery.cookie.js" type="text/javascript"></script>
    
    $.cookie("MyCookieName","232",{path:'/',expires:10,domain:'myDomain.com',secure:true});//存cookie
    //这里232为cookie的值,
    //expires:cookie的期限,比如10就是存10天,如果不设置或者设置为null那么就当作session cookie处理,在浏览器关闭后就删除。-1就是删除cookie。 
    //path:'/'必须这么写,否则cookie的路径就会根据目录路径的不同自动设置,如http://www.xxx.com/user/,path会被设置为 '/user'
    //domain:cookie的域名属性,默认为创建该Cookie的页面域名
    //secure:如果设为true,那么此cookie的传输会要求一个安全协议,例如:HTTPS
    var cookie_skin=$.cookie("MyCookieName");//取cookie
    $.cookie(’MyCookieName’, null); //删除cookie,必须使用之前一样的path和domain才能正确删除cookie
  • 相关阅读:
    使用JavaScript获取select元素选中的value和text
    EF应用一:Code First模式
    EF常用查询语句
    在EF中执行SQL语句
    c++学习笔记之继承篇
    pyqt系列原创入门教程
    python sorted排序用法详解
    常见排序算法-Python实现
    作品集
    deepin系统如何安装deb格式的软件
  • 原文地址:https://www.cnblogs.com/vvjiang/p/5172801.html
Copyright © 2011-2022 走看看