JS对表单的操作
JS对表单中的style的操作,包括复选框技术
废话不多说直接上文件代码!!!
功能:全选\反选,鼠标监测变颜色
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<table border="1" width="900px" align="center">
<tr align="center" >
<th ><input type="checkbox" id="selAll"/>全选/全不选</th>
<th >序号</th>
<th >分类名称</th>
<th >分类描述</th>
<th >操作</th>
</tr>
<tr>
<td ><input type="checkbox" name="cname"/></td>
<td >1</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td>
</tr> <tr>
<td ><input type="checkbox" name="cname"/></td>
<td >2</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr> <tr>
<td ><input type="checkbox" name="cname"/></td>
<td >3</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr> <tr id>
<td ><input type="checkbox" name="cname"/></td>
<td >4</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr> <tr >
<td ><input type="checkbox" name="cname"/></td>
<td >5</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr> <tr >
<td ><input type="checkbox" name="cname"/></td>
<td >6</td>
<td >手机数码</td>
<td >手机数码商品类</td>
<td ><a href="">修改 </a><a href=""> 删除</a>
</td> </tr>
</table>
</body>
<script type="text/javascript">
var color = "";
/*加载所有页面*/
window.onload = function(){
var trs = document.getElementsByTagName("tr")
for(var i = 0; i < trs.length ; i++){
if(i % 2){
trs[i].style.backgroundColor = "darkgrey";
}
}
for(var i = 0; i < trs.length;i++){
trs[i].onmouseover = function(){
color = this.style.backgroundColor;
this.style.backgroundColor = "green";
/*trs[i].style.backgroundColor = "darkslateblue";*/
}
trs[i].onmouseout = function(){
this.style.backgroundColor = color;
}
} /*为selAll复选框绑定点击事件*/
var selAllObj = document.getElementById("selAll");
selAllObj.onclick = function() {
//判断selAll复选框选中状态
if(this.checked) {
//如果当前的复选框是处于不选中状态,获取到所有非selAll复选框,返回数组,遍历数组为数组中的每个复选框设置checked=true //通过各个表单组件的class属性的值来获取一组表单组件
//document.getElementsByClassName("");
//通过各个表单组件的name属性的值来获取一组表单组件
var checkboxes = document.getElementsByName("cname");
for(var i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = true;
} } else {
//如果当前的复选框是处于选中状态,获取到所有非selAll复选框,返回数组,遍历数组为数组中的每个复选框设置checked=false
var checkboxes = document.getElementsByName("cname");
for(var i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = false;
}
} } //为所有的name为cname的复选框绑定点击事件
var checkboxes = document.getElementsByName("cname");
//所有的name为cname的复选框个数
var allLength=checkboxes.length;
//存放选中的复选框个数
var length02=0;
for(var i=0;i<checkboxes.length;i++){
checkboxes[i].onclick=function(){
if(this.checked){
length02++;
}else{
length02--;
}
console.log(allLength);
console.log(length02);
if(allLength==length02){
document.getElementById("selAll").checked=true;
}else{
document.getElementById("selAll").checked=false;
}
}
}
}
</script>
</html>
效果图:
JS对表单的操作的更多相关文章
- JavaScript学习笔记——对表单的操作
javascript-对表单的操作实例讲解 <form name="myform" id="form1" action="" meth ...
- jQuery对表单的操作
表单应用 一个表单有3个基本组成部分: 表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器的方法 表单域:包含文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上 ...
- js对表单设置了readonly和disabled后的区别
Readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: 1)Readonly只针对input(text / pa ...
- 5.1 《锋利的jQuery》jQuery对表单的操作
获取焦点和失去焦点改变样式 改变文本框/滚动条高度 复选框应用 下拉框应用 表单验证 tip1: 注意使用<label>的for标签,对应input的id.(for 属性规定 label ...
- ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作
ThinkPHP 表单提交操作成功后执行JS操作如何刷新父页面或关闭当前页等操作 .操作成功后刷新父页面 $this->assign('jumpUrl', "javascript:wi ...
- js 节点 document html css 表单节点操作
js 节点 document html css 表单节点操作 节点操作:访问.属性.创建 (1)节点的访问:firstChild.lastChild.childNodes.parentChild(父子 ...
- jQuery(6)——jQuery对表单、表格的操作及更多应用
jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...
- jQuery 对表单、表格的操作及更多应用-简略笔记
[jQuery 对表单.表格的操作及更多应用] jquery对表单及表格的操作是实际应用中相当广泛. 对于表单的操作,可以实现 (1)获取和失去焦点改变样式: (2)在多行文本框中可以实现网站评论框的 ...
- (十)jQuery对表单、表格的操作
一.表单应用 1.HTML中的表单大致由三部分组成 (1).表单标签:包含处理表单数据所用的服务端程序URL,以及数据提交到服务器的方法. (2).表单域:包含文本框.密码框.隐藏域.多行文本框.复选 ...
随机推荐
- oracle Data blocks,Extents,Segments
转载 先看Data blocks(也叫逻辑块,oracle块,页)吧,oracle存储数据都是在这些数据块中,一个数据块是磁盘上数据库物理空间一系列物理字节的组成. 比Data blocks更高 ...
- JDBC进行处理大文件和批处理
package cn.itcast.demo4; import java.io.FileInputStream; import java.io.FileOutputStream; import jav ...
- 在ios7中使用zxing
ZXing(Github镜像地址)是一个开源的条码生成和扫描库(开源协议为Apache2.0).它不但支持众多的条码格式,而且有各种语言的实现版本,它支持的语言包括:Java, C++, C#, Ob ...
- UVA - 11768 Lattice Point or Not (扩展欧几里得)
求一条线段上有多少个整点. 是道扩欧基础题,列出两点式方程,然后分四种情况讨论即可.但细节处理较多很容易写挫(某zzWA了十几发才过掉的). 由于数据精度较小,浮点数比较没有用eps,直接==比较了. ...
- .NET MVC 异步提交和返回参数
一.后台页面中的接收方法和返回写法 Jsonresult意味着返回值是json格式,也可以是string或者int等其他类型. Httppost代表只接受Post方法. Mvc中返回Jsonresul ...
- [独孤九剑]Oracle知识点梳理(四)SQL语句之DML和DDL
本系列链接导航: [独孤九剑]Oracle知识点梳理(一)表空间.用户 [独孤九剑]Oracle知识点梳理(二)数据库的连接 [独孤九剑]Oracle知识点梳理(三)导入.导出 [独孤九剑]Oracl ...
- nodejs express mysql
- Websphere中的几个常用概念
什么是单元(Cell)?什么是节点(Node)?Node.Profile 与 Server 之间的关系是什么? 答: 单元: 单元是整个分布式网络中一个或多个节点的逻辑分组.单元是一个配置概念,是管理 ...
- 四、Jmeter--参数化
一.CSV 参数化 1.我们做性能测试需要并发多个用户,为了真实模拟用户行为,我们需要模拟多个不同的用户登录,这是我们就需要进行参数化.这里我们选择比较常用的参数化方法-CSV Data Set Co ...
- sourcetree 安装与操作
sourcetree操作 http://www.jianshu.com/p/be9f0484af9d SourceTree安装教程和GitLab配置详解 http://www.cnblogs.com/ ...