Jquery对表单、表格的操作以及应用
表单的应用
(1)表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器的方法
(2)表单域:包含文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框、和文件上传框
(3)表单按钮:包括提交按钮、复位按钮和一般按钮,用于将数据传送到服务器上或者取消传送,还可以用来控制其他定义了处理脚本的处理工作。
5.1.1单行文本框
获取和失去焦点改变样式
<label> 标签为 input 元素定义标注(标记)。
label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
<label> 标签的 for 属性应当与相关元素的 id 属性相同。
for id 规定 label 绑定到哪个表单元素。
form formid 规定 label 字段所属的一个或多个表单。
<script>
$(function () {
$("input").focus(function () {
$(this).addClass("focus");
}).blur(function () {
$(this).removeClass("focus");
})
})
</script>
聚焦是改变,不聚焦时则恢复原样 5.1.2多行文本框的应用
高度变化:改变评论框的大小
<script>
$(function () {
var $comment=$("#comment");
$(".bigger").click(function () {
if ($comment.height()<500){
$comment.height($comment.height()+50);
}
});
$(".smaller").click(function () {
if ($comment.height()>50){
$comment.height($comment.height()-50);
}
})
})
</script>
使用动画进行控制高度
<script>
$(function () {
var $comment=$("#comment");
$(".bigger").click(function () {
if ($comment.height()<500){
$comment.animate({height:"+=50"},400);
}
});
$(".smaller").click(function () {
if ($comment.height()>50){
$comment.animate({height:"-=50"},400);
}
})
})
</script>
2滚动条的高度变化scrollTop 方法
对于多行文本框,还可以通过控制多行文本框的滚动条的变化,使文本框里的内容滚动。
{ scrollTop:“50px”}
5.1.3复选框应用
基本:就是对复选框进行全选、反选、和反全选等操作
如果需要使复选框处于选中或者不选中的状态,必须通过控制元素的checked属性来达到目的;
如果属性checked的值为true,说明被选中,如果值为false,说明没被选中。
$('[name=item]:checkbox').attr('checked',true); //全选
$('[name=item]:checkbox').attr('checked',false); //全不选
5.1.4 下拉框应用
dbclick()方法 双击实现
5.1.5 表单验证
5.2表格应用
1.普通的隔行变色
$("tr:odd").addClass("odd");//给奇数行添加样式
$("tr:even").addClass("even");//给偶数行添加样式 索引是从0开始的 故第一行是偶数
为了排除表头<thead>中的<tr>,将选择符改为
$(function(){
$("tbody>tr:odd").addClass("odd");
$("tbody>tr:even").addClass("even");
})
若需要将某一行进行修饰,可以使用contains选择器实现:
$("tr:contains("王五")").addClass("selected");
单选框控制表格行高亮
当单击某一行后,此行被选中高亮显示,并且单选框被选中。实现步骤:
(1)为表格行添加单击事件
(2)给单击的当前行添加高亮样式,然后将它的兄弟行的高亮样式去掉,最后将当前行里的单选框设置为选中。
注意使用完sibling之后需要使用end()方法,才可以重新返回$(this)对象
find() 方法返回被选元素的后代元素。
后代是子、孙、曾孙,依此类推
(this).find(":radio").attr("checked",true);
注意:
$(‘table:radio:checked’).parent().parent().addClass("selected");是通过parent()方法逐步向父节点获取相应元素的,也可以使用parents()方法直接获取
$("table :radio:checked").parents("tr").addClass(‘selected’);
此外可以通过has选择器进一步简化,表示含有选中的单选框<tr>行被元素高亮显示。
$('tbody>tr:has(:checked)').addClass('selected');
3复选框控制行亮高
复选框能控制多行变色,并没有数量限制。当单击某行时,如果已经高亮了,则移除高亮样式并去掉当前行复选框选中状态;如果还没有高亮,则添加该样式,将当前行的复选框选中;
判断是否高亮,可以使用hasClass()方法来完成。
$(this).find(':checkbox').attr("checked",true);
5.2.2表格展开关闭
$(this).toggleClass("selected")//增加、删除高亮
.siblings('.child_'+this.id).toggle(); //隐藏、显示所谓的子行
5.2.3 表格内容的筛选
filter()方法和contains选择器//能匹配包含指定的文本元素 相结合
filter(“:contains(李)”).show();
为文本框绑定keyup事件:
$(function(){
$("filterName").keyup(function(){})
})
注意表单元素有个特点,就是刷新网页,其值会保持不变。但是表格的内容已经被刷新了
为了解决这个问题,只需要在DOM刚加载完时,为表单元素绑定事件并且立即触发该事件即可
$(function(){
$("#filterName").keyup(fucntion(){
$("table tbody tr").hide().filter(":contains('"+(this).val()+"')").show();
}).keyup; //DOM加载完成时,绑定事件完成后立即触发
});
当网页刷新后会立即执行id为“”filternName“”的keyup事件,因此表格内容会保持刚筛选出来的结果
5.3.1网页字体的大小
5.3.2网页选项卡
5.3.3网页换肤
Jquery对表单、表格的操作以及应用的更多相关文章
- jQurey对表单表格的操作及更多应用(方法型)
- jQuery(6)——jQuery对表单、表格的操作及更多应用
jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...
- jQuery 对表单、表格的操作及更多应用-简略笔记
[jQuery 对表单.表格的操作及更多应用] jquery对表单及表格的操作是实际应用中相当广泛. 对于表单的操作,可以实现 (1)获取和失去焦点改变样式: (2)在多行文本框中可以实现网站评论框的 ...
- (十)jQuery对表单、表格的操作
一.表单应用 1.HTML中的表单大致由三部分组成 (1).表单标签:包含处理表单数据所用的服务端程序URL,以及数据提交到服务器的方法. (2).表单域:包含文本框.密码框.隐藏域.多行文本框.复选 ...
- 第5章 jQuery对表单、表格的操作及更多应用
本章主要是对前面4章的小结和应用. 一. 表单form应用 表单分为3个组成部分 (1)form标签 表单可包含文本域,复选框,单选按钮等等.表单用于向指定的 URL 传递用户数据. (2)表单域 - ...
- jQuery对表单、表格的操作以及更多应用
表单和表格都是HTML的重要组成部分,分别用于采集.提交用户输入的信息和显示列表数据. 表单应用:一个表单有3个基本组成部分: ①表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器 ...
- jQuery对表单、表格的操作及更多应用(上:表单应用)
内容摘录自锋利的JQuery一书 一.表单应用 1 获取和失去焦点改变样式(P142) $(function(){ $(":input").focus(function(){ // ...
- jQuery对表单、表格的操作及更多应用(中:表格应用)
内容摘录自锋利的JQuery一书 二.表格应用 1 表格隔行变色(:odd和:even选择器 P157) $(function(){ $("tr:odd").addClass(&q ...
- jQuery对表单、表格的操作及更多应用
<head> <style type="text/css"> .even { background-color: #fff38f;/*偶数行样式*/ ...
随机推荐
- 029_检测 MySQL 数据库连接数量
#!/bin/bash#本脚本每 2 秒检测一次 MySQL 并发连接数,可以将本脚本设置为开机启动脚本,或在特定时间段执行#以满足对 MySQL 数据库的监控需求,查看 MySQL 连接是否正常#本 ...
- C到汇编[1]
这篇文字解释这个问题:C语言函数调用在汇编语言是怎么实现的?栈模型很好的满足了函数调用的需求,以最简单的函数调用说明. : int add2(int a, int b){return a+b;} 00 ...
- Git入门(待更)
github是什么? 以下截取自百度百科 github: GitHub 是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub. GitHub 于 ...
- Geos判断点是否在多边形内
使用的geo版本是3.5.1 #include <iostream> #include "geos.h" using namespace std; GeometryFa ...
- MGR---mysql组复制多主模式
组复制有两种模式:单主模式和多主模式. 1.在单主模式下,组复制具有自动选主功能,每次只有一个 server成员接受更新.2.在多主模式下,所有的 server 成员都可以同时接受更新. MGR的限制 ...
- zabbix监控windows案例
首先在zabbix官网下载zabbix软件包:https://www.zabbix.com/ 下载完成之后,将其解压到D盘 # 配置与安装,配置zabbix agent相关配置. 找到conf下的配置 ...
- [题解] [CF 1250J] The Parade
题面 题目大意: 给定一个 \(n\) , 所有军人的数量均在 \([1, n]\) 给定 \(a_i\) 代表高度为 \(i\) 的军人的个数 你要将这些军人分成 \(k\) 行, 满足下面两个条件 ...
- aop 通知的执行顺序
private static final org.slf4j.Logger Logger = LoggerFactory.getLogger(LoggerAop.class); /** * 线程池 异 ...
- centos7的网络配置参考
<鸟哥的Linux私房菜>中的相关介绍和配置:http://linux.vbird.org/linux_basic/0610hardware.php 修改链接(connection)的名字 ...
- 第11组 Alpha冲刺(4/6)
第11组 Alpha冲刺(4/6) 队名 不知道叫什么团队 组长博客 https://www.cnblogs.com/xxylac/p/11884529.html 作业博客 https://edu ...