使用JQery操作表格表单

2023-10-18 11:48

本文主要是介绍使用JQery操作表格表单,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用jQuery操作表单和表格
1、HTML表单概述
2、使用jQuery操作表单元素
操作文本框
1、获取文本框的值(两种方法):

var textCon = $("#id").val();var textCon = $("#id").attr("value");

2、设置文本框的值,可以使用attr()方法:

$("#id").attr("value","要设定的值");

3,设置文本框不可编辑的方法:

$("#id").attr("disabled","disabled");

4、设置文本框可编辑的方法:

$("#id").removeAttr(“disabled”);

【例】获取文本框的值以及切换编辑状态

<input type="text" id="testInput"/>
<input type="submit" value="提交" name="tj" id="tj"/>
<input type="button" value="修改" name="xg" id="xg"/>
<script type="text/javascript">$(document).ready(function(){$("#tj").click(function(){if($("#testInput").val() != ""){alert($("#testInput").val());	//弹出文本框的值$("#testInput").attr("disabled","disabled");//将文本框变为不可编辑状态}else{alert("请输入文本内容!")$("testInput").focus();			//将焦点设置到文本框处return false;}});$("#xg").click(function(){if($("#testInput").attr("disabled") == "disabled"){$("#testInput").removeAttr("disabled");			//移除文本框的disabled属性}});})</script>

操作文本域
文本域的属性设置、值的获取以及编辑状态的修改与文本框都相同。所以在此不做过多赘述。

操作单选按钮和复选框
1、使用attr()方法可以设置选中的单选框和复选框:

$("#id").attr("checked",true);

2、取消选中单选按钮和复选框:

$("#id").removeAttr("checked");

3、判断选择状态

if($("#id").attr("checked")=='checked'){}

【例】使用按钮控制单选框的选中状态

<form><h3 align="center">选择你喜欢的运动</h3><input type="checkbox" name="hobby" value="游泳" />游泳<input type="checkbox" name="hobby" value="足球" />足球<input type="checkbox" name="hobby" value="篮球" />篮球<input type="checkbox" name="hobby" value="滑冰" />滑冰<input type="checkbox" name="hobby" value="滑雪" />滑雪<input type="checkbox" name="hobby" value="羽毛球" />羽毛球<input type="checkbox" name="hobby" value="乒乓球" />乒乓球<br /><br /><input type="button" id="checkAll" value="全选"/>&nbsp;<input type="button" id="unCheckAll" value="全不选" />&nbsp;<input type="button" id="revBtn" value="反选" />&nbsp;<input type="button" id="subBtn" value="提交" />&nbsp;</form>
<script type="text/javascript">$(document).ready(function(){$("#checkAll").click(function(){$("input[type=checkbox]").attr("checked",true);})$("#unCheckAll").click(function(){$("input[type=checkbox]").removeAttr("checked");})$("#revBtn").click(function(){$("input[type=checkbox]").each(function(){this.checked = !this.checked;});})$("#subBtn").click(function(){var msg = "你最喜欢的运动是:\r\n";$("input[type=checkbox]:checked").each(function(){msg+=$(this).val()+"\r\n";});alert(msg);})})
</script>

操作下拉框
1、读取下拉框的值

var selVal = $("#id").val();

2、设置下拉框的选中项

$("#id").attr("value",选中项的值);

3、清空下拉菜单

if($("#id")).empty();

4、向下拉菜单中添加菜单项

if($("#id").append("<option value='值'>文本</option>"));

【例】jQuery操作下拉框

<div class="first"><select multiple name="hobby" id="hobby" class="sel"><option value="游泳">游泳</option><option value="足球">足球</option><option value="篮球">篮球</option><option value="跑步">跑步</option><option value="滑冰">滑冰</option><option value="乒乓球">乒乓球</option><option value="游泳">游泳</option><option value="跳远">跳远</option><option value="跳高">跳高</option></select><div class="sd"><button id="add">添加>></button><br /><br /><button id="add_all">添加全部>></button></div>
</div>
<div class="second"><select multiple name="other" id="other" class="sel"></select><div class="sd"><button id="to_left"><<删除</button><br /><br /><button id="all_to_left"><<全部删除</button></div>
</div>
<style type="text/css">.first{float:left;font-size:12px;}.second{padding-left:110px;font-size:12px;}.sel{width:80px;height:150px;}.sd{padding-top:10px;}
</style>
<script type="text/javascript">$(document).ready(function(){$("#add").click(function(){var $options = $("#hobby option:selected");		//获取左边选中项$options.appendTo("#other");					//追加到右边})$("#add_all").click(function(){var $options = $("#hobby option");				//获取全部选项$options.appendTo("#other");					//追加到右边})$("#hobby").dblclick(function(){					//鼠标双击事件var $options = $("option:selected",this);		//获取选中项$options.appendTo("#other");					//追加到右边})$("#to_left").click(function(){var $options = $("#other option:selected");		//获取右边选中项$options.appendTo("#hobby");					//追加到左边})$("#all_to_left").click(function(){var $options = $("#other option");				//获取全部选项$options.appendTo("#hobby");					//追加到左边})$("#other").click(function(){						//鼠标双击事件var $options = $("option:selected",this);		//获取选中项$options.appendTo("#hobby");					//追加到左边})})
</script>

表单验证

要实现如上效果,用户名、密码不能为空,且密码不能少于8位。
1、首先写html代码

<form><h3 align="center">用户注册</h3><div class="dt">用户名:<input type="text" name="username" id="username" class="required" size=20/></div><div class="dt">&nbsp;&nbsp;码:<input type="password" name="pwd" id="pwd" class="required" size=20/></div><div class="dt">&nbsp;&nbsp;别:<input type="text" name="sex" id="sex" maxlength=3 size=4/></div><div class="dt">&nbsp;&nbsp;龄:<input type="text" name="age" id="age" maxlength=3 size=4/></div><div class="dt"><input type="submit" name="sub" value="注册" /></div></form>
</body>

2、给form表单下的input元素的样式为required的元素添加一个红色的“*”,表示必填。当光标移开用户名或密码时触发blur()事件,用blur()事件判断用户名和密码不能为空。

<script type="text/javascript">$(document).ready(function(){$("form :input.required").each(function(){var $required = $("<strong class='star'>*</strong>");//创建元素$(this).parent().append($required);					//将其追加到文档中}) $("form :input").blur(function(){if($(this).is("#username")){//判断元素id是否为用户名的文本框if($(this).val()==""){//判断用户名为空alert("用户名不为空!");}}if($(this).is("#pwd")){//判断是否为密码框if($(this).val()==""){//判断密码是否为空alert("密码不为空");}if(this.value.length<8){//判断密码是否小于8位alert("密码不能小于8位,请重新输入!");}}})		})</script>

3、CSS样式

<style type="text/css">.star{color:red;}.dt{padding-top:10px;}
</style>

使用jQuery操作表格
控制表格颜色显示
1、隔行换色

$("tr:odd").addClass("odd");	//为表格奇数行添加样式$("tr:even").addClass("even");	//为表格偶数行添加样式

2

此图则是隔行换色的效果。
2、控制表格行的高亮显示
实现某一行的高亮显示,可以使用contains选择器。
用鼠标单击表格行高亮显示:

<script type="text/javascript">$(document).ready(function(){//$("tr:contains('程序设计')").addClass("selected");$("tbody>tr").click(function(){//使鼠标单击的行高亮显示,并且清除其兄弟元素的行高$(this).addClass("selected").siblings().removeClass("selected");//siblings()方法返回被选元素的所有同级元素,同级元素是共享相同父元素的元素。		})})</script>

siblings()方法返回被选元素的所有同级元素,所以意思就是为当前元素添加样式,并去除其他同级元素的样式。

表格的展开与关闭

<script type="text/javascript">$(function(){$("tr.type").click(function(){//获取分类父行//获取本分类下的行元素$(this).toggleClass("selected").siblings(".line_"+this.id).toggle();})})</script>

toggle() 方法切换元素的可见状态。所以意思就是为当前元素切换样式,且返回当前分类行的子元素,进而设置子元素的展开与收缩效果。

表格内容的筛选
filter()方法实现对表格内容的过滤
1、html代码,创建表格,在表头增加搜索框

<table border="1" width="260" align="center"><thead align="center" valign="bottom"><tr><td colspan="2">搜索:<input type="text" name="keyword" id="keyword" /> </td></tr><tr bgcolor="#B2B2B2"><td>姓名</td><td>成绩</td></tr></thead><tbody align="center" bgcolor="#FFFF88"><tr><td>王帅</td><td>97</td></tr><tr><td>李雷</td><td>91</td></tr><tr><td>高天</td><td>97</td></tr><tr><td>赵卫</td><td>84</td></tr><tr><td>王强</td><td>97</td></tr><tr><td>陈美</td><td>99</td></tr></tbody></table>

2、实现当键盘按键被松开时,如果文本框内容不为空,则筛选包含文本框内容的行。

这篇关于使用JQery操作表格表单的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/232379

相关文章

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

深入理解Go语言中二维切片的使用

《深入理解Go语言中二维切片的使用》本文深入讲解了Go语言中二维切片的概念与应用,用于表示矩阵、表格等二维数据结构,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录引言二维切片的基本概念定义创建二维切片二维切片的操作访问元素修改元素遍历二维切片二维切片的动态调整追加行动态

prometheus如何使用pushgateway监控网路丢包

《prometheus如何使用pushgateway监控网路丢包》:本文主要介绍prometheus如何使用pushgateway监控网路丢包问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录监控网路丢包脚本数据图表总结监控网路丢包脚本[root@gtcq-gt-monitor-prome

Python通用唯一标识符模块uuid使用案例详解

《Python通用唯一标识符模块uuid使用案例详解》Pythonuuid模块用于生成128位全局唯一标识符,支持UUID1-5版本,适用于分布式系统、数据库主键等场景,需注意隐私、碰撞概率及存储优... 目录简介核心功能1. UUID版本2. UUID属性3. 命名空间使用场景1. 生成唯一标识符2. 数

SpringBoot中如何使用Assert进行断言校验

《SpringBoot中如何使用Assert进行断言校验》Java提供了内置的assert机制,而Spring框架也提供了更强大的Assert工具类来帮助开发者进行参数校验和状态检查,下... 目录前言一、Java 原生assert简介1.1 使用方式1.2 示例代码1.3 优缺点分析二、Spring Fr

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解