整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

javascript之document.getEle

javascript之document.getElementsByName实现复选框全选和全不选

家在好多购物网站买东西的时候购物车常常有一个功能就是全选和全不选的功

能,那么这个功能用javascript是怎么实现的呢,其实呢很简单,接下来道哥就

来给大家分享一下这个小功能。

HTML代码块如下

<body>
全选<input type="checkbox" id="all" onclick="checkAll()"/><br/>
<input type="checkbox" name="a" />
<input type="checkbox" name="a" />
<input type="checkbox" name="a" />
<input type="checkbox" name="a" />
<input type="checkbox" name="a" />
<input type="checkbox" name="a" />
<br/>
<input type="button" value="必须选择三个以上" onclick="f()"/>
</body>

javascript代码如下

<script type="text/javascript">
function checkAll()
{
//第一步:根据ID找对象 (参照物)
var a=document.getElementById("all");
//第二步:找一堆小弟
var obj=document.getElementsByName("a");
//第三步:现在我们将小弟的checked属性设置成与参照物一样
for(var i=0; i<obj.length;i++)
{
//第四步;
//循环将obj对象里面的每一个元素的checked属性设置成与a一样
obj[i].checked=a.checked;
}
}
function f()
{
//根据name找对象 返回对象数组
var obj=document.getElementsByName("a");
//定义一个计数器
var count=0;
//循环对象数组
for(var i=0;i<obj.length;i++)
{
//判断是否被选择
if(obj[i].checked)
{
count++
}
}
//判断是否符合要求
if(count <3)
{
alert("必须选择至少3项");
}
}
</script>

效果截图

同于服务器端脚本语言,例如php与ASP,Javascript是客户端脚本语言,也就是说JavaScript是在用户的浏览器上运行,不需要服务器的支持而可以独立运行。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。而随着服务器的强壮,虽然程序员更喜欢运行于服务端的脚本以保证安全,但JavaScript仍然以其跨平台、容易上手等优势大行其道。

Web前端教程

复选框的全选和全不选

需求分析

商品分类界面中,当我们点击全选框的时候,我们希望选中所有的商品,当我们取消掉的时候,我们希望不选中所有的商品

技术分析

checked="checked"选择复选框

事件:onclick点击事件

getElementsByTagName:返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。

getElementsByName:返回包含带有指定类名的所有元素的节点列表。

步骤分析

全选和全部选步骤分析:

  1.确定事件:onclick单机事件

  2.事件触发函数:checkAll()

  3.函数要去做一些事情:

  获得当前第一个checkbox的状态

  获得所有分类项的checkbox

  修改每一个checkbox的状态

代码实现

  <!DOCTYPEhtml>

  <html>

   <head>

   <metacharset="UTF-8">

   <title></title>

   <!--

   1.确定事件:文档加载完成onload

   2.事件要触发函数:init()

   3.函数:操作页面的元素

   要操作表格中每一行

   动态的修改行的背景颜色

   -->

   <script>

   functioninit(){

   //得到表格

   vartab=document.getElementById("tab");

   //得到表格中每一行

   varrows=tab.rows;

   //便利所有的行,然后根据奇数偶数

   for(vari=1;i<rows.length;i++){

   varrow=rows[i];//得到其中的某一行

   if(i%2==0){

   row.bgColor="yellow";

   }else{

   row.bgColor="red"

   }

   }

   }  

   /*

全选和全部选步骤分析:

   1.确定事件:onclick单机事件

   2.事件触发函数:checkAll()

   3.函数要去做一些事情:

   获得当前第一个checkbox的状态

   获得所有分类项的checkbox

   修改每一个checkbox的状态

   */

   functioncheckAll(){

  // 获得当前第一个checkbox的状态

   varcheck1=document.getElementById("check1");

   //得到当前checked状态

   varchecked=check1.checked;

  // 获得所有分类项的checkbox

  // varchecks=document.getElementsByTagName("input");

   varchecks=document.getElementsByName("checkone");

  // alert(checks.length);

   for(vari=0;i<checks.length;i++){

  // 修改每一个checkbox的状态

   varcheckone=checks[i];

   checkone.checked=checked;

   }

   }

   </script>

   </head>

   <bodyonload="init()">

   <tableborder="1px"width="600px"id="tab">

   <tr>

   <td>

   <inputtype="checkbox"onclick="checkAll()"id="check1"/>

   </td>

   <td>分类ID</td>

   <td>分类名称</td>

   <td>分类商品</td>

   <td>分类描述</td>

   <td>操作</td>

   </tr>

   <tr>

   <td>

   <inputtype="checkbox"name="checkone"/>

   </td>

   <td>1</td>

   <td>手机数码</td>

   <td>华为,小米,尼康</td>

   <td>黑马数码产品质量最好</td>

   <td>

   <ahref="#">修改</a>|<ahref="#">删除</a>

   </td>

   </tr>

   <tr>

   <td>

   <inputtype="checkbox"name="checkone"/>

   </td>

   <td>2</td>

   <td>成人用品</td>

   <td>充气的</td>

   <td>这里面的充气电动硅胶的</td>

   <td><ahref="#">修改</a>|<ahref="#">删除</a></td>

   </tr>

   <tr>

   <td>

   <inputtype="checkbox"name="checkone"/>

   </td>

   <td>3</td>

   <td>电脑办公</td>

   <td>联想,小米</td>

   <td>笔记本特卖</td>

   <td><ahref="#">修改</a>|<ahref="#">删除</a></td>

   </tr>

   <tr>

   <td>

   <inputtype="checkbox"name="checkone"/>

   </td>

   <td>4</td>

   <td>馋嘴零食</td>

   <td>辣椒,麻花,黄瓜</td>

   <td>年货</td>

   <td><ahref="#">修改</a>|<ahref="#">删除</a></td>

   </tr>

   <tr>

   <td>

   <inputtype="checkbox"name="checkone"/>

   </td>

   <td>5</td>

   <td>床上用品</td>

   <td>床单,被套,四件套</td>

   <td>都是套子</td>

   <td><ahref="#">修改</a>|<ahref="#">删除</a></td>

   </tr>

   </table>

   </body>

  </html>

JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。解释语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行。而且由于每次重新加载都会重新解译,加载后,有些代码会延迟至运行时才解译,甚至会多次解译,所以速度较慢。

以上是酷仔今日整理的“前端教程:使用JavaScript完成复选框的全选和全不”一文,希望为正在学习Web前端的同学提供参考。

制表单中的单选按钮


<html>
<head>
<title>单选项</title>
<style>
<!--
form{
padding:0px; margin:0px;
font:14px Arial;
}
p{
padding:2px; margin:0px;
}
-->
</style>
<script language="javascript">
function getChoice(){
    var oForm=document.forms["myForm1"];
    var aChoices=oForm.camera;
    for(i=0;i<aChoices.length;i++) //遍历整个单选项表
    if(aChoices[i].checked) //如果发现了被选中项则退出
    break;
    alert("您使用的相机品牌是:"+aChoices[i].value);
}
function setChoice(iNum){
    var oForm=document.forms["myForm1"]; //获取表单的节点
    oForm.camera[iNum].checked=true; //设置某选项被选中
}
</script>
</head>
<body>
<form method="post" name="myForm1" action="addInfo.php">
您使用的相机品牌:
<p>
<input type="radio" name="camera" id="canon" value="Canon">
<label for="canon">Canon</label>
</p>
<p>
<input type="radio" name="camera" id="nikon" value="Nikon">
<label for="nikon">Nikon</label>
</p>
<p>
<input type="radio" name="camera" id="sony" value="Sony" checked>
<label for="sony">Sony</label>
</p>
<p>
<input type="radio" name="camera" id="olympus" value="Olympus">
<label for="olympus">Olympus</label>
</p>
<p>
<input type="radio" name="camera" id="samsung" value="Samsung">
<label for="samsung">Samsung</label>
</p>
<p>
<input type="radio" name="camera" id="pentax" value="Pentax">
<label for="pentax">Pentax</label>
</p>
<p>
<input type="radio" name="camera" id="others" value="其它">
<label for="others">others</label>
</p>
<p><input type="submit" name="btnSubmit" id="btnSubmit" value="Submit" class="btn"></p>
<p><input type="button" value="检测选中对象" onclick="getChoice();">
<input type="button" value="设置为Canon" onclick="setChoice(0);"></p>
</form>
</body>
</html>



设置复选框(全选、全不选、反选):