jQuery第五章
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">选中添加到右边>></span>
<span id="add_all">全部添加到右边>></span>
</div>
</div>
<div class="centent">
<select multiple id="select1" style="width:100px;height:160px;">
</select>
<div>
<span id="remove"><<选中删除到左边</span>
<span id="remove_all"><<全部删除到左边</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第五章的更多相关文章
- jquery 第五章 jQuery操作表单与表格
1.回顾 对象.bind("事件名称",function(){ // }) 阻止冒泡事件 return false, event stopProapagation() 模拟事件 ...
- jQuery 第五章 实例方法 详解内置队列queue() dequeue() 方法
.queue() .dequeue() .clearQueue() ------------------------------------------------------------------ ...
- jQuery 第五章 实例方法 详解动画之animate()方法
.animate() .stop() .finish() ------------------------------------------------------------------- ...
- jQuery 第五章 实例方法 事件
.on() .one() .off() .trigger() .click / keydown / mouseenter ... .hover() ----------------------- ...
- jQuery系列 第五章 jQuery框架动画特效
第五章 jQuery框架动画特效 5.1 jQuery动画特效说明 jQuery框架中为我们封装了众多的动画和特效方法,只需要调用对应的动画方法传递合适的参数,就能够方便的实现一些炫酷的效果,而且jQ ...
- 第五章、前端之JQuery
目录 第五章.前端之JQuery 一.选择器 二.基本筛选器 三.样式操作 四.位置操作 五.文本操作 六.属性操作 七.文档处理 八.事件 九.动画效果 十.补充 第五章.前端之JQuery 一.选 ...
- 读《编写可维护的JavaScript》第五章总结
第五章 UI层的松耦合 5.1 什么是松耦合 在Web开发中,用户界面是由三个彼此隔离又相互作用的层定义的: HTML是用来定义页面的数据和语义 CSS用来给页面添加样式 JavaScript用来给页 ...
- 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务
http://www.pythoner.com/294.html 本文为<Introduction to Tornado>中文翻译,将在https://github.com/alioth3 ...
- 第五章SignalR的实时高频通讯
第五章SignalR的实时高频通讯 概述:本例子演示了如果创建一个对象与其他浏览器共享实时状态的应用程序.我们要创建的应用程序为“MoveShape”,该MoveShape页面会显示一个Html Di ...
随机推荐
- git 本地给远程仓库创建分支 三步法
命令如下: 1:本地创建分支dev Peg@PEG-PC /D/home/myself/Symfony (master) $ git branch dev 2:下面是把本地分支提交到远程仓库 Peg@ ...
- ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序
服务器上某个数据库出现' ORA-12516: TNS: 监听程序找不到符合协议堆栈要求的可用处理程'错误,要解决该问题首先查看一下数据库现有的进程数,是否已经达到参数processes的大小. 使用 ...
- ACM第五次积分赛
做出三道题,第二名,总积分上升到第八名,继续加油! SAU-ACM总比赛成绩 姓名 账号 上学期成绩 第一次成绩 第二次成绩 第三次成绩 第四次成绩 第五次成绩 总成绩 张国庆 143401 ...
- 数据库索引的实现原理(笔记)详细http://www.linezing.com/blog/?p=798#nav-1
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询.更新数据库表中数据.索引的实现通常使用B树及其变种B+树. 在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某 ...
- swift3.0 原生GET请求 POST同理
swift3.0 原生GET请求 POST同理 func getrequest(){ let url = URL(string: "http://117.135.196.139:" ...
- [Q]注册申请码获取工具问题
问题一: 异常信息: 有关调用实时(JIT)调试而不是此对话框的详细信息, 请参见此消息的结尾. ************** 异常文本 ************** System.Reflectio ...
- 将LibreOffice文档批量转成PDF格式
使用如下命令可以将文档一次性批量导出为pdf格式: -name -I /program/soffice.exe --headless --convert-to pdf '{}' find命令的-max ...
- informix数据迁移工具使用介绍
一.dbschema USAGE: dbschema [-q] [-t tabname] [-s user] [-p user] [-r rolename] [-f procname] ...
- 坑爹的 Hardware Reserved Memory (查看内存等)
来源: http://blog.sina.com.cn/s/blog_772645ff0100s4t7.html 我的电脑是GatewayNV49C83c,酷睿i3的CPU和NV的独立显卡 Inter ...
- TheSixthWeekJavaText
加密文档 实验要求编写一个算法加密一串英文字串. 设计思想:对于一个字符串,我们可以用String.charAt()方法依次取出其中的字符元素,组成一个字符数组.由于字符可以转化为short类型变量进 ...