jQuery对表单、表格的操作以及更多应用

一、表单应用

1.单行文本框应用

(1)获取和失去焦点改变样式

HTML代码如下:

<form action="#" method="POST" id="regForm">

<fieldset>

<legend>个人信息</legend>

<div>

<label for="username">名称:</label>

<input id="username" type="text">

</div>

<div>

<label for="pass">密码:</label>

<input id="pass" type="password">

</div>

<div>

<label for="msg">详细信息:</label>

<textarea id="msg"></textarea>

</div>

</fieldset>

</form>

CSS样式如下:

.focus{

border: 1px solid #f00;

background: #fcc;

}

jQuery代码如下:

$(function(){

$(":input").focus(function(){

$(this).addClass("focus");

}).blur(function(){

$(this).removeClass("focus");

});

});

2.多行文本框应用

(1)高度变化

例如,某网站的评论框,有放大缩小功能。实现效果如下:

HTML代码如下:

<form>

<div class="msg">

<div class="msg_caption">

<span class="bigger">放大</span>

<span class="small">缩小</span>

</div>

<div>

<textarea id="comment" rows="8" cols="20">

多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.多行文本框高度变化.

</textarea>

</div>

</div>

</form>

jQuery代码如下:

$(function(){

var $comment = $('#comment');

$('.bigger').click(function(){

if (!$comment.is(":animated")) {

if($comment.height() < 500){

$comment.animate({height : "+=50"},400);

}

}

})

$('.small').click(function(){

if (!$comment.is(":animated")) {

if($comment.height() > 50){

$comment.animate({height: "-=50"},400);

}

}

});

});

(2)滚动条高度变化

与控制高度的方法相同,只不过此处需要控制的是另一个属性,即scrollTop。将以上代码改成如下:

$(function(){

var $comment = $('#comment');

$('.up').click(function(){

if (!$comment.is(":animated")) {

$comment.animate({scrollTop : "-=50"},400);

}

})

$('.down').click(function(){

if (!$comment.is(":animated")) {

$comment.animate({scrollTop: "+=50"},400);

}

});

});

3.复选框应用

对复选框的最基本应用,就是对复选框进行全选、反选和全不选等操作。

首先在空白网页中创建一个表单,其中放入一组复选框,HTML代码如下:

<form>

你爱好的运动是?<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="乒乓球">乒乓球

<input type="button" id="CheckedAll" value="全选">

<input type="button" id="CheckedNo" value="全不选">

<input type="button" id="CheckedRev" value="反选">

<input type="button" id="send" value="提交">

</form>

通过判断checked属性来判断是否选中,如果checked的值为true说明被选中,如果checked的值为false说明未被选中。jQuery代码如下:

$(function(){

$("#CheckedAll").click(function(){

$('[name = items] : checkbox').attr('checked',true);

});

$("#CheckedNo").click(function(){

$('[name = items]:checkbox').attr('checked',false);

});

$("#CheckRev").click(function(){

$('[name = items]:checkbox').each(function(){

this.checked = !this.checked;

});

});

});

4.下拉框应用

(1)将左边选中的选项添加到右边,也可以将右边的选项添加到左边,或者双击选项,将其添加给对方。

HTML代码如下:

<div class="centent">

<select multiple id="select1" style="width:100px;height:160px;">

<option value="1">选项1</option>

<option value="2">选项2</option>

<option value="3">选项3</option>

<option value="4">选项4</option>

<option value="5">选项5</option>

<option value="6">选项6</option>

<option value="7">选项7</option>

<option value="8">选项8</option>

</select>

<div>

<span id="add">选中添加到右边&gt;&gt;</span>

<span id="add_all">全部添加到右边&gt;&gt;</span>

</div>

</div>

<div class="centent">

<select multiple id="select1" style="width:100px;height:160px;">

</select>

<div>

<span id="remove">&lt;&lt;选中删除到左边</span>

<span id="remove_all">&lt;&lt;全部删除到左边</span>

</div>

</div>

jQuery代码如下:

$(function(){

$("#add").click(function(){

var $options = $('#select1 option:selected');

$options.appendTo("#select2")

});

$("#add_all").click(function(){

var $options = $('#select1 option');

$options.appendTo('#select2');

});

$("#select1").dblclick(function(){

var $options = $("option:selected",this);

$options.appendTo("#select2");

});

});

5.表单验证

以一个简单的用户注册为例。首先新建一个表单,HTML代码如下:

<form method="post" action="#">

<div class="int">

<label for="username">用户名:</label>

<input type="text" id="email" class="required" />

</div>

<div class="int">

<label for="email">邮箱:</label>

<input type="text" id="email" class="required" />

</div>

<div class="int">

<label for="personinfo">个人资料:</label>

<input type="text" id="personinfo" />

</div>

<div class="sub">

<input type="submit" value="提交" id="send" />

<input type="reset" id="res" />

</div>

</form>

在表单内,class属性为“required”的文本框时必须填写的,因此需要将它与其他的非必须填写表单元素加以区别,即在文本框后面追加一个红色的小星号。可以使用append()方法来完成。

jQuery第五章的更多相关文章

  1. jquery 第五章 jQuery操作表单与表格

    1.回顾 对象.bind("事件名称",function(){ // }) 阻止冒泡事件 return false,   event stopProapagation() 模拟事件 ...

  2. jQuery 第五章 实例方法 详解内置队列queue() dequeue() 方法

    .queue() .dequeue() .clearQueue() ------------------------------------------------------------------ ...

  3. jQuery 第五章 实例方法 详解动画之animate()方法

    .animate()   .stop()   .finish() ------------------------------------------------------------------- ...

  4. jQuery 第五章 实例方法 事件

    .on() .one() .off() .trigger() .click / keydown / mouseenter ...    .hover() ----------------------- ...

  5. jQuery系列 第五章 jQuery框架动画特效

    第五章 jQuery框架动画特效 5.1 jQuery动画特效说明 jQuery框架中为我们封装了众多的动画和特效方法,只需要调用对应的动画方法传递合适的参数,就能够方便的实现一些炫酷的效果,而且jQ ...

  6. 第五章、前端之JQuery

    目录 第五章.前端之JQuery 一.选择器 二.基本筛选器 三.样式操作 四.位置操作 五.文本操作 六.属性操作 七.文档处理 八.事件 九.动画效果 十.补充 第五章.前端之JQuery 一.选 ...

  7. 读《编写可维护的JavaScript》第五章总结

    第五章 UI层的松耦合 5.1 什么是松耦合 在Web开发中,用户界面是由三个彼此隔离又相互作用的层定义的: HTML是用来定义页面的数据和语义 CSS用来给页面添加样式 JavaScript用来给页 ...

  8. 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务

    http://www.pythoner.com/294.html 本文为<Introduction to Tornado>中文翻译,将在https://github.com/alioth3 ...

  9. 第五章SignalR的实时高频通讯

    第五章SignalR的实时高频通讯 概述:本例子演示了如果创建一个对象与其他浏览器共享实时状态的应用程序.我们要创建的应用程序为“MoveShape”,该MoveShape页面会显示一个Html Di ...

随机推荐

  1. 读取Oracle表结构数据

    <html lang="zh-cn"> <head> <meta name="generator" content="O ...

  2. ECMAScript6之Array类型的扩展

    数组的扩展 Array.of() 将一组值转换成数组 Array.of(1,2,3,4,5); //[1,2,3,4,5] Array.from() 可将类似数组的对象或者可便利的对象转换成数组,比如 ...

  3. HDU 5873 Football Games

    随便判了几个条件就过了,也不知道对不对的. 正解应该是: $[1].$${s_1} + {s_2} + {s_3} + ...... + {s_n} = n(n - 1)$ $[2].$${s_1} ...

  4. 第33届 MPD软件工作坊(南京站)有哪些亮点值得我们参加?

    MPD软件工作坊由msup2010年创办,自创办以来,共吸引了万名的软件从业者到场参与.第33届 MPD软件工作坊(南京站)将于12月17-18日在南京召开,大会报名平台:活动家! 快捷报名通道:ht ...

  5. lunix存取windows共享文件夹

    在访问Windows共享资料之前,请确保Windows共享是可用的,这里就不再赘述该怎样设置Windows共享了,那可是另外一个课题. Linux访问Windows共享或者Linux共享资料给Wind ...

  6. 原生JavaScript封装Ajax

    第一次开个人技术博客了,发的第一篇技术文章,欢迎指点…… 欢迎访问本人的独立博客:蓝克比尔 Ajax的实现主要分为四部分: 1.创建Ajax对象 // 创建ajax对象 var xhr = null; ...

  7. android弹出dialog后,activity得到焦点

    1.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE,WindowManager.LayoutParams.FLAG ...

  8. SQLSERVER 的联接查询写法

    1.内连接 语法:[JOIN.INNER JOIN] 作用:两个表相连,加上ON匹配两个表的共同条件. 实例1: SELECT tb_o_i.* FROM tb_o_i INNER JOIN tb_o ...

  9. mysql添加远程用户

    -- 增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询.插入.修改.删除的权限. -- 首先用以root用户连入MYSQL,然后键入以下命令: grant selec ...

  10. doT.js实例详解

    doT.js详细介绍 doT.js特点是快,小,无依赖其他插件.官网:http://olado.github.iodoT.js详细使用介绍 使用方法:{{= }} for interpolation{ ...