锋利的jquery学习笔记-write less do more-jquery对表单的操作及应用

1.单行文本框应用
小示例:实现文本款选中时添加边框和背景色

<head>
<script src="jquery.js"></script> 
        <style>
            .focus{
                border : 1px solid #f00;
                background:  #fcc;
            }
        </style>
</head>
<body>
<!--单行文本框-->
        <form action = "#" method = "post" id = "regform">
            <fieldset>
                <legend>个人基本信息</legend>
                <div>
                    <lable for="username">名称:</lable>
                    <input id = "username" type= text>
                </div>
                <div>
                    <lable for="pass">密码:</lable>
                    <input id = "pass" type= "password" value = 'gaga' readonly >
                </div>
                <div>
                    <lable for="msg">详细信息:</lable>
                    <textarea id = "msg" type= text readonly >我是一只小小鸟,想要飞也飞不高</textarea>
                </div>
            </fieldset>
        </form>
        <hr>
        </body>
//jq代码
$(function(){
$(":input").focus(function(){//获取焦点
                $(this).addClass("focus");//添加样式
    }).blur(function(){//失去焦点
                $(this).removeClass("focus");//去掉样式
    });
});

这里写图片描述


2.多行文本框的应用
小示例:1.实现点击按钮实现文本框的放大和缩小
2.点击按钮实现滚动条位置变化

<!--多行文本框-->
        <form>
            <div class= "msg">
                <div clas = "msg2">
                    <span class = "bigger" style = "background: green; border: 2px solid">放大</span>
                    <span class = "smaller" style = "background: green;border: 2px solid">缩小</span>
                    <span class = "upper" style = "background: pink; border: 2px solid">向上</span>
                    <span class = "lower" style = "background: pink;border: 2px solid">向下</span>

                </div>
                <div>
                    <textarea id = "comment" rows = 8 cols = 20>多行文本框应用,自定义动画方法animate(),$comment.animate({height : "+=50"}.400);文本域的高度会在0.4秒内增大50px,具有一定的缓冲效果,注意在动画过程中,需要判断评论框是否正处于动画,如果处于动画过程中则不追加其他动画,一面造成动画队列不必要的积累。
                    </textarea>
                </div>
            </div>
        </form>
        <hr>
//jq代码
var $comment = $("#comment");
    $(".bigger").click(function(){//“放大”绑定事件
        if(!$comment.is(":animated")){//判断是否正处于动画
            if($comment.height()<500){//若果当前文本域的高度小于500
                $comment.animate({height:"+=50"},400); //文本域高度增加50
            }
        }
    });
    $(".smaller").click(function(){//“缩小”绑定事件
        if(!$comment.is(":animated")){
            if($comment.height()>50){
                $comment.animate({height:"-=50"},400);
            }
        }
    });
    $(".upper").click(function(){//“向上”绑定事件
        if(!$comment.is(":animated")){
            $comment.animate({scrollTop:"-=50"},400);
        }
    });
    $(".lower").click(function(){//“向下”绑定事件
        if(!$comment.is(":animated")){
            $comment.animate({scrollTop:"+=50"},400);
        }
    });

这里写图片描述


3.复选框的应用
小示例:两种方式实现全选或全部选
1.打钩全选,则复选框所有选项被打钩
2.复选框所有选项被打钩,则全选打钩

<form>
        panda爱好的运动是:
        <input type = checkbox id ="checkall" />全选/全不选<br />
        <input type= checkbox name =items value = "足球" />足球
        <input type =checkbox name =items value = "篮球" />篮球
        <input type = checkbox name =items value = "羽毛球" />羽毛球
        <input type = checkbox name = items value = "乒乓球" />乒乓球<br />
        <input type = button id= send value = 提交 />
        </form>
        <hr>
//jq代码
//1.根据全选、全不选决定下面复选框是否都打钩
    $("#checkall").click(function(){//给全选/不全选复选框绑定单击事件
        if(this.checked){//如果被选中即打钩的话
            $('[name=items]:checkbox').attr("checked",true);//所有name为items的复选框全部打钩
        }else{
            $('[name=items]:checkbox').attr("checked",false);//反之去掉勾
        }
    });
    //2.根据复选框是否都打钩决定全选、全部选
    //1。定义一个标志位flag决定是否全选
    //2。循环复选框,全选中了则flag=true,有一个没选中则flag=false
    //3。 根据flag值来判断全选框是否选中、】
    $('[name=items]:checkbox').click(function(){//给复选框每个选项绑定单击事件,每次打钩都判断是否全部打钩,如果都打钩则全选框打钩
        var flag =true;//,默认值为true,全选状态
        $('[name=items]:checkbox').each(function(){//循环所有复选框
            if(!this.checked){//只要有一个没选中则flag=false
                flag= false;
            }
        })
        $("#checkall").attr('checked',flag);
});

这里写图片描述


4.下拉框应用
小示例:实现点击按钮左边的单选框内容移到右面去

<hr>
            <!--单选框-->
            <form>
                <table>
                    <tr>
                        <td><div class = centent>
                    <select multiple id = select style = "width:100px;height:160px;">
                        <option value = 1>pick one</option>
                        <option value =2>pick two</option>
                        <option value= 3>pick three </option>
                        <option value = 4>pick four</option>
                        <option value = 5>pick five</option>
                        <option value =5>pick six</option>
                        <option value = 7>pick seven</option>
                    </select>
                    <div>
                        <span id= "ad" style = "background: pink;border: 2px solid">选中添加到右边; </span><br>
                        <span id= "adall" style = "background: pink;border: 2px solid">全部添加到右边; </span>
                    </div>
                </div></td>
                <td>
                    <div>
                    <select multiple id = select2 style = "width:100px;height:160px;">
                    </select>
                    <div>
                        <span id= remove style = "background: mediumpurple;border: 2px solid">选中删除到左边</span><br>
                        <span id = removeall style = "background: mediumpurple;border: 2px solid">全部删除到左边</span>
                    </div>
                </div>

                </td>
                    </tr>
                </table>
            </form>
//jq代码
//选中的下拉框先删除追加到右边
    $("#ad").click(function(){//给‘选中添加到右边’绑定单击事件
        var $option = $("#select option:selected");//找到单选框中选中的元素放到变量
        $option.appendTo("#select2");//追加到右边的单选框
    });
    $("#adall").click(function(){//给‘全部添加到右边’绑定事件
        var $option = $("#select option");//获取单选框下所有选项
        $option.appendTo("#select2");
    });
    $("#remove").click(function(){//给‘选中删除到左边’绑定单击事件
        var $option = $("#select2 option:selected");
        $option.appendTo("#select");//把选中选项追加到左边单选框
    });
    $("#removeall").click(function(){//给‘全部删除到左边’绑定单击事件
        var $option = $("#select2 option");
        $option.appendTo("#select");
    })

tip: appendTo()方法,它是先把自己的remove(),然后再把内容追加到指定位置。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/fightingitpanda/article/details/80496236
今日推荐