JQuery学习笔记系列(二)----

  jQuery是一个兼容多浏览器的javascript库,核心理念是write less,do more(写得更少,做得更多)。其中也提供了很多函数来更加简洁的实现复杂的功能。

  事件切换函数toggle(fn1,fn2,fn3 ...):作用是每次点击后依次调用函数,第一次点击调用fn1,第二次调用fn2,依次类推直到调用最后一个函数,然后继续重新开始从第一个继续开始 继续循环

<body>
    <ul>
        <li>Go to the store</li>
        <li>Pick up dinner</li>
        <li>Debug crash</li>
        <li>Take a jog</li>
    </ul>
    <button>click me</button>
<script type="text/javascript">
$(document).ready(function(){
      $("button").toggle(function(){
        $("body").css("background-color","green");},
        function(){
        $("body").css("background-color","red");},
        function(){
        $("body").css("background-color","yellow");}
      );
    });

</script>
</body>

  上面代码的效果就是第一次点击button,body背景色变为绿色,第二次变为红色,第三次变为黄色,第四次重新变为绿色...

  

  事件切换函数hover(over, out):一个模仿悬停事件的方法,鼠标悬停时调用over函数,鼠标移出时调用out函数

<body>
    <ul>
        <li>Go to the store</li>
        <li>Pick up dinner</li>
        <li>Debug crash</li>
        <li>Take a jog</li>
    </ul>
<script type="text/javascript">
$(document).ready(function(){
      $("ul").hover(function(){
        $("ul").css("background-color","green");},
        function(){
        $("ul").css("background-color","red");}
      );
    });

</script>
</body>

  鼠标移动到ul标签上面,ul标签的背景色变为绿色,鼠标移出ul标签背景色变为红色

  在项目开发中有时会涉及到报表系统,报表中通常会有合计、总计这样的字段,为了数据的准确性,合计和总计这些字段数据库不会实际建字段,或者使用视图中计算出来的数字或者在后台逻辑计算中计算得出,那么当需要修改这个页面的字段时就会出现一个问题,修改了基本字段,那么合计也应该动态的进行变化,那么我们使用jQuery里面的函数就可以比较简洁快速的进行页面联动的效果。上图中总建筑面积就是下面3个面积相加得出的

<div class="wrapper">
    <div class="title-box">
    <a class="btn icon-read" href="#" onclick="doSave()" title="保存">保存</a>
    </div>
    <div class="table-box" id="mainTable">
        <t:formvalid formid="formobj" dialog="true" usePlugin="password" layout="div" tiptype="5" action="tllazghjmdghssAction.do?doSave">
        <table class="the-table" border="0" cellspacing="0" cellpadding="0">
            <tr>
                <td style="width:auto;" class="title" rowspan="2">序号</td>
                <td style="width:10%;" class="title" rowspan="2">项目名称</td>
                <td style="width:auto;" class="title" rowspan="2">单位</td>
                <td style="width:auto;" class="title" colspan="2">初步设计</td>
                <td style="width:auto;" class="title" colspan="2">安置实施</td>
            </tr>
            <tr>
                <td style="width:auto;" class="title">达德移民安置点</td>
                <td style="width:auto;" class="title">多卡移民安置点</td>
                <td style="width:auto;" class="title">达德移民安置点</td>
                <td style="width:auto;" class="title">多卡移民安置点</td>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">1</td>
                <td style="text-align:left;vertical-align: middle;">规划范围面积</td>
                <td style="text-align:center;vertical-align: middle;">㎡</td>
                <c:forEach items="${jmghList}" var="jmgh">
                    <input id="id" name="id" value="${jmgh.id}"  type="hidden">
                    <input id="fsjd1" name="fsjd1" value="${jmgh.fsjd}"  type="hidden">
                    <input id="fsymazd1" name="fsymazd1" value="${jmgh.fsymazd}"  type="hidden">
                    <td style="text-align:center;vertical-align: middle;"><input class="inputxt" id="ffghfwmj1" name="ffghfwmj1"  value="${jmgh.ffghfwmj}" datatype="n" nullmsg="请填写规划范围面积"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">2</td>
                <td style="text-align:left;vertical-align: middle;">总建筑面积</td>
                <td style="text-align:center;vertical-align: middle;">㎡</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input readonly="readonly" class="inputxt" id="ffzjzmj1" name="ffzjzmj1"  value="${jmgh.ffptgjmj+jmgh.ffjzjzmj+jmgh.ffszjzmj}" datatype="n" nullmsg="请填写总建筑面积"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">2.1</td>
                <td style="text-align:center;vertical-align: middle;">配套公建面积</td>
                <td style="text-align:center;vertical-align: middle;">㎡</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input onblur="doChange()" class="inputxt" id="ffptgjmj1" name="ffptgjmj1"  value="${jmgh.ffptgjmj}" datatype="n" nullmsg="请填写配套公建面积"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">2.2</td>
                <td style="text-align:center;vertical-align: middle;">居住建筑面积</td>
                <td style="text-align:center;vertical-align: middle;">㎡</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input onblur="doChange()" class="inputxt" id="ffjzjzmj1" name="ffjzjzmj1"  value="${jmgh.ffjzjzmj}" datatype="n" nullmsg="请填写居住建筑面积"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">2.3</td>
                <td style="text-align:center;vertical-align: middle;">市政建筑面积</td>
                <td style="text-align:center;vertical-align: middle;">㎡</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input onblur="doChange()" class="inputxt" id="ffszjzmj1" name="ffszjzmj1"  value="${jmgh.ffszjzmj}" datatype="n" nullmsg="请填写市政建筑面积"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">3</td>
                <td style="text-align:left;vertical-align: middle;">容积率</td>
                <td style="text-align:center;vertical-align: middle;"></td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input class="inputxt" id="ffrjl1" name="ffrjl1"  value="${jmgh.ffrjl}" datatype="n" nullmsg="请填写容积率"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">4</td>
                <td style="text-align:left;vertical-align: middle;">建筑密度</td>
                <td style="text-align:center;vertical-align: middle;">%</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input class="inputxt" id="ffjzmd1" name="ffjzmd1"  value="${jmgh.ffjzmd}" datatype="n" nullmsg="请填写建筑密度"><span class="Validform_notnull">*</span></td>
                    </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">5</td>
                <td style="text-align:left;vertical-align: middle;">绿地率</td>
                <td style="text-align:center;vertical-align: middle;">%</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                        <td style="text-align:center;vertical-align: middle;"><input class="inputxt" id="ffldl1" name="ffldl1"  value="${jmgh.ffldl}" datatype="n" nullmsg="请填写绿地率"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">6</td>
                <td style="text-align:left;vertical-align: middle;">人均用地面积</td>
                <td style="text-align:center;vertical-align: middle;">㎡</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input class="inputxt" id="ffrjydmj1" name="ffrjydmj1"  value="${jmgh.ffrjydmj}" datatype="n" nullmsg="请填写人均用地面积"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">7</td>
                <td style="text-align:left;vertical-align: middle;">总户数</td>
                <td style="text-align:center;vertical-align: middle;">户</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input class="inputxt" id="ffzhs1" name="ffzhs1"  value="${jmgh.ffzhs}" datatype="n" nullmsg="请填写总户数"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">8</td>
                <td style="text-align:left;vertical-align: middle;">户均人口</td>
                <td style="text-align:center;vertical-align: middle;">个</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input class="inputxt" id="ffhjrk1" name="ffhjrk1"  value="${jmgh.ffhjrk}" datatype="n" nullmsg="请填写总户数"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">9</td>
                <td style="text-align:left;vertical-align: middle;">搬迁人口</td>
                <td style="text-align:center;vertical-align: middle;">个</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input class="inputxt" id="ffbqrk1" name="ffbqrk1"  value="${jmgh.ffbqrk}" datatype="n" nullmsg="请填写搬迁人口"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
            <tr>
                <td style="text-align:center;vertical-align: middle;">10</td>
                <td style="text-align:left;vertical-align: middle;">停车位</td>
                <td style="text-align:center;vertical-align: middle;">个</td>
                    <c:forEach items="${jmghList}" var="jmgh">
                    <td style="text-align:center;vertical-align: middle;"><input class="inputxt" id="fftcw1" name="fftcw1"  value="${jmgh.fftcw}" datatype="n" nullmsg="请填写停车位"><span class="Validform_notnull">*</span></td>
                </c:forEach>
            </tr>
        </table>
        </t:formvalid>
    </div>
</div>

<script type="text/javascript">
    function doChange(){
        var i=0;
        var ffptgjmj = new Array(4);
        var ffjzjzmj = new Array(4);
        var ffszjzmj = new Array(4);
        $("input[name=‘ffptgjmj1‘]").each(function(){
            ffptgjmj[i] = isNull($(this).val());
            i++;
        });
        i = 0;
        $(‘input[name="ffjzjzmj1"]‘).each(function(){
            ffjzjzmj[i] = isNull($(this).val());
            i++;
        });
        i = 0;
        $(‘input[name="ffszjzmj1"]‘).each(function(){
            ffszjzmj[i] = isNull($(this).val());
            i++;
        });
        i = 0;
        $(‘input[name="ffzjzmj1"]‘).each(function(){
            $(this).attr(‘value‘,parseInt(ffptgjmj[i])+parseInt(ffjzjzmj[i])+parseInt(ffszjzmj[i]));
            i++;
        });

    }
    function isNull(data){
        return (data == "" || data == undefined || data == null) ? 0 : data;
    }
</script>

  这个就是使用each函数进行遍历,然后当对应的input文本框失去焦点时调用doChange()方法进行更新总建筑面积字段,这个是一个完整的例子i,有兴趣的朋友可以copy过去自己跑一下试试,其中jsp部分有很多项目中框架的痕迹,感兴趣朋友自己写一个jsp,然后模仿我上面的js函数试验一下。

  

时间: 2024-10-23 16:44:47

JQuery学习笔记系列(二)----的相关文章

JQuery学习笔记系列(一)----选择器详解

笔者好长时间没有更新过博客园的笔记了,一部分原因是去年刚刚开始工作一段时间忙碌的加班,体会了一种每天加班到凌晨的充实感,之后闲暇时间了也因为自己懒惰没有坚持记笔记的习惯,现在重新拾起来. 借用古人的一段话与诸君共勉: 人之为学,不日进则日退,独学无友,则孤陋而难成:久处一方,则习染而不自觉.不幸而在穷僻之域,无车马之资,犹当博学审问, 古人与稽,以求其是非之所在.庶几可得十之五六.若既不出户,又不读书,则是面墙之士,虽子羔.原宪之贤,终无济于天下. 翻译为:人们求学(或做学问),不能天天上进,就

jQuery学习笔记(二):this相关问题及选择器

上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理解的,this就是指代当前操作的DOM对象. 在jQuery中,this可以用于单个对象,也可以用于多个对象. $('btn').click(function(){ alert(this.innerHTML); // 单个对象,this指代当前id为btn的DOM对象 }); $('div').each(function(index){ alert(this.innerHTML)

jQuery学习笔记(二)

jQuery的DOM操作  html操作 1 // html() 2 // 获取 -- 北京节点的HTML代码 3 console.log($("#bj").html()); 4 // 设置(重置内容,不是追加或累加) -- 天津节点设置区的内容 5 $("#tj").html("天津<ul><li>塘沽区</li></ul>"); 文本操作 -- text() 1 //text() 2 //获取

JS与Jquery学习笔记(二)

施工中........... 一. JS 的面向对象 二. 用JS移动和复制元素 三. 如何给动态生成的元素绑定事件 四. 事件绑定函数的入参 五. $.each和$.map的用法与区别

jQuery学习笔记(二)——css与节点操作

一.获取和设置元素内容 1.$('#box').html().$('#box').html('<p>123</p>') html内容 2.$('#box').text().$('box').text('123') 文本内容 3.$('#box').val().$('#box').val('123') 表单内容 二.元素属性操作 1.$('#box').attr('id') 取得id值 2.$('#box').attr('name','user') 设置属性 3.$('#box').

jQuery学习笔记(二)使用选择器一

jQuery选择器是jQuery框架的基础,jQuery对事件的处理.DOM操作.CSS动态控制.Ajax通信.动画设计都是在选择器基础上进行的 注意,在jQuery中通过各种选择器和方法获取的结果集合实际上都是一个jQuery对象 基本选择器 说明 返回值 #id 根据给定的ID匹配一个元素,如果选择器中包含特殊字符,可以用两个斜杠转义 单个元素 element 根据指定的元素类型名称选择该类型所有元素 同类型集合元素 .class 根据指定的类名选择所有同类元素 集合元素 * 在所限定的范围

jquery学习笔记之二

1.one()与bind()的区别 bind():给一个对象绑定事件,可以绑定一个事件,也可以绑定多个事件. one():跟bind一样,都是给对象绑定事件的. 如给一个按钮绑定了三个相同的click事件,第单击一次按钮就会执行三个相同的事件,但是one()不一样,它只会在最开始的一次执行,然后后面无论你在单击多少次按钮,都不会执行了. 2.模拟事件   trigger() $(".btn").trigger("click");-----当页面加载完后就会立即执行c

jQuery学习笔记之二——常规选择器

jQuery 最核心的组成部分就是: 选择器引擎. 它继承了 CSS 的语法, 可以对 DOM 元素的标签名. 属性名. 状态等进行快速准确的选择, 并且不必担心浏览器的兼容性. 简单选择器#box { //使用 ID 选择器的 CSS 规则color:red; //将 ID 为 box 的元素字体颜色变红}在jQuery 选择器里,我们使用如下的方式获取同样的结果: $('#box').css('color', 'red'); //获取 DOM 节点对象,并添加行为 选择器 CSS 模式 jQ

Windows-universal-samples学习笔记系列二:Controls, layout, and text

Controls, layout, and text AutoSuggestBox migration Clipboard Commanding Context menu Context menu (XAML) Disabling selection Display orientation Downloadable fonts (DirectWrite) Downloadable fonts (XAML) Drag and drop Focus visuals Full screen mode