一、概述:

  checkbox是我们在编写网页的时候经常使用的多选框,但是有些时候我们会限定最多选中的数量,如何限定呢?

  下面这例子限定了最多选中两个元素,并且将这两个选中的源依次显示在一个文本框里:

<!DOCTYPE HTML >
<HTML>
<HEAD>
<TITLE> by失落沙洲 </TITLE>
</HEAD>
<style>
#xianshi{
height:30px;
width:200px;
border:1px solid black;
}
</style>
<BODY>
<div id="xianshi"></div>
<div id="d1">
<input type="checkbox" name="tianqi" value="下雨" onclick="check_count(this)" >下雨
<input type="checkbox" name="tianqi" value="下雪" onclick="check_count(this)" >下雪
<input type="checkbox" name="tianqi" value="打雷" onclick="check_count(this)" >打雷
<input type="checkbox" name="tianqi" value="闪电" onclick="check_count(this)" >闪电
<input type="checkbox" name="tianqi" value="台风" onclick="check_count(this)" >台风
<input type="checkbox" name="tianqi" value="晴天" onclick="check_count(this)" >晴天
</div>
<script type="text/javascript" src="jquery-1.11.3.js"></script>
<script type="text/javascript">
var opts = new Array(); //定义一个空数组
function check_count(_obj) {
if ($(":checkbox[name='tianqi']:checked").length >= 0) {//找到name为天气的多选框 如果被选中的checkbox 长度大于0
opts.push($(":checkbox[name='tianqi']").index($(_obj)));//将这个元素压入到opts数组中
var val=$(_obj).val();//获取当前被选中的值
var html="";//定义一个空字符串
html+="<span>"+val+"</span>"//将被选中的值 拼在span标签内 并且传入html中
if(_obj.checked){//判断 如果当前元素被选中
$(html).appendTo("#xianshi");/* 将拼好的html元素插入到 显示框内
注意html 现在是这样的 <span>天气名称</span>
穿到html页面是这种的
<div id="#xianshi">
<span>当前选中的天气名称</span>
<span>第二次选中的天气名称</span>
<span>第三次选中的天气名称</span>
</div>
下面会有限制条件
*/ }else{
$("#xianshi").innerHTML='';//如果没有被选中显示框为空
}
}
if (opts.length >2) {//如果当前数组长度大于2时,这里就是判定你选中了多少个checkbox
$($(":checkbox[name='tianqi']").get(opts.shift())).attr("checked", false);/*将你第一个选中的 check值设为false
注:checked 值有两个true为选中
false为未选中*/
$("#xianshi").children("span:eq(0)").remove();/*找到#xiashi框,查找他下面的第一个span标签
eq(0)是span标签的下标,0是第一个 1是第二个
排序方式跟数组相同的应该比较好理解
remove()是移除函数
也就是将你插入到#xianshi下的第一个span标签移除
这样就按照顺序显示了
*/
} }
</script>
</BODY>
</HTML>

  代码里面已经写了注释,相信大家能看懂,此处注意,文档引用了jquery文件,代码写的比较粗糙,需要测试的朋友可以略作修改。

限定checkbox最多选中数量的更多相关文章

  1. jQuery和js如何判断checkbox是否选中

    jquery: <div id="divId" class="divTable"><div class="tableBody&quo ...

  2. checkbox的选中、全选、返选、获取所有选中的值、所有的值、单选全部时父选中

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  3. C#中??和?分别是什么意思? 在ASP.NET开发中一些单词的标准缩写 C#SESSION丢失问题的解决办法 在C#中INTERFACE与ABSTRACT CLASS的区别 SQL命令语句小技巧 JQUERY判断CHECKBOX是否选中三种方法 JS中!=、==、!==、===的用法和区别 在对象比较中,对象相等和对象一致分别指的是什么?

    C#中??和?分别是什么意思? 在C#中??和?分别是什么意思? 1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; ...

  4. JQuery 多个checkbox 只选中一个

    <form id="common-form"> <input name="check1" type="checkbox"/ ...

  5. jquery 实现只能选中一个checkbox,选中当前的去除上一个

    jq 实现只能选中一个checkbox,选中当前的去除上一个. <div id="checkboxed"> <input name="check1&qu ...

  6. JQuery 实现多个checkbox 只选中一个

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  7. ----------jqery和js如何判断checkbox是否选中 --------两个单选按钮如何选一个,且用jquery获取被选的值

    jqery和js如何判断checkbox是否选中 jquery: <div id="divId" class="divTable"> <div ...

  8. JQuery判断checkbox是否选中-批量

    在html的checkbox里,选中的话会有属性checked="checked". 如果用一个checkbox被选中,alert这个checkbox的属性"checke ...

  9. TreeView控件的CheckBox级联选中或取消

    背景: 在一个项目开发中遇到这样的要求:当选中树中一个节点时,需要同时选中其父节点,直至根节点.在取消一个节点的选中时,需要将其所有子节点取消选中,直至叶子节点.由于项目用户体验暂时可以不用考虑,直接 ...

随机推荐

  1. css01入门小例子

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  2. noip 2009 细胞分裂

    /*数论题 考察唯一分解定理 当然用到一些技巧*/ #include<iostream> #include<cstdio> #include<cstring> #d ...

  3. phpmyadmin登陆提示#2002 无法登录 MySQL 服务器和设置自增

    看看mysql启动没有,结果是mysql服务没有启动,找了半天,是这个原因,那就右键计算机->管理->服务->启动mysql服务 设置自增:在显示出来的一行字段定义中把浏览器的滚动条 ...

  4. (转)JQuery中$.ajax()方法参数详解

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  5. 在iptables和selinux中放行smb服务

    配置selinux [root@localhost samba]# getsebool -a | grep samba 查找selinux中对samba的限制项samba_domain_control ...

  6. JavaWeb学习笔记之JSP(一)

    1. JSP: 1.1. 为什么需要 JSP ? 如果使用Servlet程序来输出只有局部内容需要动态改变的网页,但是其中的静态网页内容也需要程序员使用Java语言来进行输出,这就造成了大量代码的冗余 ...

  7. Struts2 框架验证

    struts2框架验证(xml方式):    * 首先要从页面中获取对应的标签name属性的值,在动作类action中声明同名的属性,提供get和set方法        * 创建一个xml格式验证文 ...

  8. ecshop模板如何修改详细图解

    ecshop模板如何修改?很多人在问这个问题,今天就以图解的方式给大家详细说下.相信学完之后,你会很清楚如何修改ecshop模板,不管你是初学者还是程序高手. 1, ecshop的模板结构 ecsho ...

  9. 利用js得到某个范围内的整数随机数

    Math.random()方法可以返回(0,1)之间的随机数,不包括0和1. 套用公式:Math.floor(Math.random()*可能的值的总数+第一个可能的值) 如得到(3,9]之间的随机数 ...

  10. Mysql中的DQL查询语句

    ----------------1.查询所有列 --查询 学生 表所有记录(行) select *from 学生 --带条件的查询 select *from 学生 where 年龄>19 --- ...