• 常用jQuery代码


    1.使用 jQuery 解析 JSON 数据并不复杂。下面

     
    function parseJson(){
    //Start by calling the json object, I will be using a
    //file from my own site for the tutorial
    //Then we declare a callback function to process the data
    $.getJSON('hcj.json',getPosts);
     
    //The process function, I am going to get the title,
    //url and excerpt for 5 latest posts
    function getPosts(data){
    //Start a for loop with a limit of 5
    for(var i = 0; i < 5; i++){
    var strPost = '<h2>'
    + data.posts[i].title
    + '</h2>'
    + '<p>'
    + data.posts[i].excerpt
    + '</p>'
    + '<a href="'
    + data.posts[i].url
    + '" title="Read '
    + data.posts[i].title
    + '">Read ></a>';
    //Append the body with the string
    $('body').append(strPost);
    }
    }
    }
     
    //Fire off the function in your document ready
    $(document).ready(function(){
    parseJson();
    });
    是一个高效解析 JSON 数据并将其追加到您的网页的例子。
     
    2.隔行换色。

    $('div:odd').css("background-color", "#F4F4F8");
    $('div:even').css("background-color", "#EFF1F1");
    3.jQuery使用json的例子。
     
    ////////////1、在HTML中,有这样一个表单:
    <form method="post" name="searchform" id="searchform" method="/sek.go">
    <input name="query" value="" type="text" id="query" />
    <input type=”submit value="查询"></input>
    </form>
    ////////////当然,要想在HTML中使用Js功能,必须在<head/>中加入
    <script type="text/javascript"src="/style/js/ajax.js"></script>
    ////////////2、然后在ajax.js文件中加入如下代码
    function userSearch(){
    var query = $("#searchform input[@name='query']").val();
    $.post("/userSearch.htm", { query: query } ,function callback(json){
    var userlist = $.parseJSON(json);
    userList(userlist);
    });
    }
    /*******************************************
    解释如下:
    1)、"#searchform input[@name='query']";的意思是: 选择id为searchform其下的(name属性值为'query'的)input标签
    2)、$(“”).val()意为要得到(“”)所选中属性的值;
    3)、在$.post()中,第一项参数是指定目标servlet,即要把本post请求发给的那个servlet。
    第二项是本post请求所携带的数据;“:”前的为key或者name,后为value;
    第三项是回调函数,其内若有形参,则表示要对从servlet返回的值进行处理,这里的callback的功能是将JSON对象json转换成了JS对象userlist,然后将JS对象传入函数userList
    3、post请求携带了名为query的参数去了后台,在servlet中进行处理:
    //从名为"query"能的参数中取出post带过来的数据
    String query = request.getParameter("query");
    if (query != null && !query.isEmpty()
    && !query.trim().equalsIgnoreCase("")) {
    //如果"query"的值不为空,就用'query'为参数构建HQL语句
    String hql = "from TUser as user where user.userName like '"+ query + "%'";
    //到库表TUser中进行查询,并得到一个表结构
    List list = weilav3TUserDAO.getListByHQL(hql);
    if (list != null && !list.isEmpty()) {
    //若list不为空,则将其转换成JSON对象,并存入jsonArray中
    JSONArray jsonArray = JSONArray.fromObject(list);
    //下面就是把存有查询结果的JSON对象返给页面
    response.setContentType("text/html;charset=utf-8");
    PrintWriter out = response.getWriter();
    out.println(jsonArray);
    ……
    }else {……}
    **************/
    13个jQuery操作table常用到的功能:
    1.鼠标移动行变色。
    方法一:
    $('#table1 tr').hover(function(){
    $(this).children('td').addClass('hover')
    }, function(){
    $(this).children('td').removeClass('hover')
    });
    方法二:
    $("#table1 tr:gt(0)").hover(function() {
    $(this).children("td").addClass("hover");
    }, function() {
    $(this).children("td").removeClass("hover");
    });
    2.奇偶行不同颜色
    $('#table1 tbody tr:odd').css('background-color', '#bbf');
    $('#table1 tbody tr:even').css('background-color','#ffc');
    //操作class
    $("#table1 tbody tr:odd").addClass("odd");
    $("#table1 tbody tr:even").addClass("even");
    删除一行:
    // 删除除第一行外的所有行
    $('#table1 tr:not(:first)').remove();
    // 删除指定行
    $('#table1 tr:eq(3)').remove();
     
    // 删除除第一列外的所有列
    $('#table1 tr th:not(:nth-child(1))').remove();
    $('#table1 tr td:not(:nth-child(1))').remove();
    // 删除第一列
    $('#table1 tr td::nth-child(1)').remove();
    设置某个单元格的值:
    // 设置table1,第2个tr的第一个td的值。
    $('#table1 tr:eq(1) td:nth-child(1)').html('value');
    // 获取table1,第2个tr的第一个td的值。
    $('#table1 tr:eq(1) td:nth-child(1)').html();
    插入一行:
    // 在第二个tr后插入一行
    $('<tr><td>插入3</td><td>插入</td><td>插入</td><td>插入</td></tr>').insertAfter($('#table7 tr:eq(1)'));
    获取每一行制定的单元格的值:
    var arr = [];
    $('#table1 tr td:nth-child(1)').each(function (key, value) {
    arr.push($(this).html());
    });
    var result = arr.join(',');
    全选或不全选:
    //方法零:
    $('#all').on('click', function () {
    $('input.checkSub').prop('checked', this.checked); // 给当前一起绑定的子选择添加效果
    });
    //方法一:
    //全选或全不选 此传入的参数为event 如:checkAll(event)
    function checkAll(evt){
    evt=evt?evt:window.event;
    var chall=evt.target?evt.target:evt.srcElement;
    var tbl=$("#table1");
    var trlist=tbl.find("tr");
    for(var i=1;i<trlist.length;i++){
    var tr=$(trlist[i]);
    var input=tr.find("INPUT[type='checkbox']");
    input.attr("checked",chall.checked);
    }
    }
    //方法二:
    //全选或全不选 此传入的参数为this 如:checkAll(this)
    function checkAll(evt){
    var tbl=$("#table1");
    var trlist=tbl.find("tr");
    for(var i=1;i<trlist.length;i++){
    var tr=$(trlist[i]);
    var input=tr.find("INPUT[type='checkbox']");
    input.attr("checked",evt.checked);
    }
    }
    //方法三:
    //全选或全不选 此传入的参数为this 如:checkAll(this)
    function checkAll(evt){
    $("#table1 tr").find("input[type='checkbox']").each(function(i){
    $(this).attr("checked",evt.checked)
    });
    }
    //方法四:
    //全选或全不选 此传入的参数为this 如:checkAll(this)
    function checkAll(evt){
    $("#table1 tr").find("input[type='checkbox']").attr("checked",evt.checked);
    }
    客户端动态添加行:
    function btnAddRow(){
    //行号是从0开始,最后一行是新增、删除、保存按钮行 故减去2
    var rownum=$("#table1 tr").length-2;
    var chk="<input type='checkbox' id='chk_"+rownum+"' name='chk_"+rownum+"'/>";
    var text="<input type='text' id='txt_"+rownum+"' name='txt_"+rownum+"' width='75px'/>";
    var sel="<select id='sel_"+rownum+"'><option value='1'>男</option><option value='0'>女</option></select>";
    var row="<tr><td>"+chk+"</td><td>"+text+"</td><td>"+sel+"</td><td>"+text+"</td><td>"+text+"</td></tr>";
    $(row).insertAfter($("#table1 tr:eq("+rownum+")"));
    }
    客户端删除一行:
     
    每次只能删除一行,删除多行时出错
    function btnDeleteRow(){
    $("#table1 tr").find("input[type='checkbox']").each(function(i){
    if($(this).attr("checked")){
    if(i!=0){//不能删除行标题
    $("#table1 tr:eq("+i+")").remove();
    }
    }
    });
    }
    这个比上面的要好,可以一下删除多个记录
    function btnDeleteRow(){
    $("#table1 tr").each(function(i){
    var chk=$(this).find("input[type='checkbox']");
    if(chk.attr("id")!="checkall"){//不能删除标题行
    if(chk.attr("checked")){
    $(this).remove();
    }
    }
    });
    }
     
    客户端保存:
    function btnSaveClick(){
    //find()方法中我暂时不知道如何设定多个筛选条件,所以下面得不到select列表的值
    //$("#table1 tr td").find("input[type='text']" || "select").each(function(i){
    //alert($(this).val());
    //});
    $("#table1 tr").find("td").each(function(i){
    if($(this).find("input[type='text']").length>0){
    alert($(this).find("input[type='text']").val());
    }else if($(this).find("select").length>0)
    {
    alert($(this).find("select").val());
    }
    });
    }
     

     

  • 相关阅读:
    【 D3.js 选择集与数据详解 — 5 】 处理模板的应用
    阿里云至 Windows Azure 的 Linux 虚拟机迁移
    【 随笔 】 JavaScript 图形库的流行度调查
    2015年,新的启程
    【 D3.js 选择集与数据详解 — 4 】 enter和exit的处理方法以及处理模板
    【 随笔 】 财源滚滚
    HelloXV1.77网络功能简介
    【 D3.js 选择集与数据详解 — 3 】 绑定数据的顺序
    【 D3.js 选择集与数据详解 — 2 】 使用data()绑定数据
    保持与 Microsoft Azure Files 的连接
  • 原文地址:https://www.cnblogs.com/tuanz/p/8709691.html
Copyright © 2020-2023  润新知