一、概述:

  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. nyoj 756 重建二叉树

    重建二叉树主要是给你一颗二叉树的前序遍历的结果和中序遍历的结果或者后序遍历的结果或者中序遍历的结果,让你求出其中的后序遍历的结果或者前序遍历的结果,这里知道其中的两个就能求出第三个,但是知道的两个必须 ...

  2. 使用rpm安装mysql的默认目录

    --使用rpm安装mysql的默认目录:1.数据库目录/var/lib/mysql/2.配置文件/usr/share/mysql(mysql.server命令及配置文件)3.相关命令/usr/bin( ...

  3. 美洽SDK

    简介 GitHub地址:https://github.com/Meiqia/MeiqiaSDK-Android 开发文档:http://meiqia.com/docs/meiqia-android-s ...

  4. spring07 JDBC

    1.创建对应的数据库 2.在MyEclipse中创建项目  引入需要的jar包 3.创建数据访问层 public interface StudentDao { //新增学生 int addStuden ...

  5. EF 已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭

    在以下代码中,当第二次foreach时会抛出该异常,原因是:由于Entity在读取数据的时候使用的是DbDataReader进行读取,当作为IEnumuerable<T>对象MoveNex ...

  6. JavaScript网页制作特效

    一.什么是JavaScript? 网页交互特效的脚本语言. 特效 二.BOM对象 能够使得JavaScript和浏览器进行对话. 主要是使用Window对象进行操作. History对象:历史,可以实 ...

  7. android获取在res文件下的图片资源

    //得到该图片的id(name 是该图片的名字,"drawable" 是该图片存放的目录,getPackageName()是应用程序的包) int resID = getResou ...

  8. 传输层-UDP

    传输层构建在网络层之上,传输层提供端口到端口之间的通讯. 传输层通过端口号来标识一个端口,不同于网卡,端口是逻辑上的概念.传输层的端口为16个比特(bit)长度,即最多能表示65 536个端口,端口号 ...

  9. 用 CALayer 定制下载进度条控件

    // // RPProgressView.h // CALayer定制下载进度条控件 // // Created by RinpeChen on 16/1/2. // Copyright © 2016 ...

  10. XML Schema (1)

    XML Schema 是基于 XML 的 DTD 替代者. XML Schema 描述 XML 文档的结构. XML Schema 语言也称作 XML Schema 定义(XML Schema Def ...