`
tanglong8848
  • 浏览: 71191 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

复选框选择功能大全

 
阅读更多

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>test</title>
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.js"></script>
<script type="text/javascript">

function chkThese(chkObj) {

//多行多列选择
$("[id*="+chkObj.id+"]:checkbox").attr("checked",chkObj.checked);
var n = chkObj.id;
var names = n.split('-');

//取消选择
if(chkObj.checked!=true){
$("[id="+names[0]+"]:Checkbox").removeAttr("checked");
$("[id="+names[1]+"]:Checkbox").removeAttr("checked");
$("[id="+names[1]+"-"+names[2]+"]:Checkbox").removeAttr("checked");
}

//判断是否全选,如果全部选择,则全部checkbox都选择
var isChk=true;
var oL=document.getElementsByName(chkObj.name);
if(oL!=null){
if(oL.length>0){
for(var i=0;i<oL.length;i++){
if(oL[i].checked==false){
isChk=false;
break;
}
}
}
}
if(isChk==true) {
$("[id="+names[0]+"]:Checkbox").attr("checked",true);
$("[id="+names[1]+"]:Checkbox").attr("checked",true);
$("[id*=]:Checkbox").attr("checked",true);
}

//行选择
var arr = $("[id*="+names[0]+"]:Checkbox");
var fChk = true;
for(var i=1;i<arr.length;i++) {
if(arr[i].checked==false) {
fChk = false;
break;
}
}
if(fChk==true) {
arr = $("[id*="+names[0]+"]:Checkbox").attr("checked",true);
}

//列选择
var arrs = $("[id*="+names[2]+"]:Checkbox");
var cChek = true;
for(var i=1;i<arrs.length;i++) {
if(arrs[i].checked==false) {
cChek = false;
break;
}
}
var cxsCheck = true;
if(cChek==true) {
$("[id*="+names[2]+"]:Checkbox").attr("checked",true);
}

//多列选择
var cxs = $("[id*="+names[1]+"]:Checkbox");
for(var i=1;i<cxs.length;i++) {
if(cxs[i].checked==false) {
cxsCheck = false;
break;
}
}
if(cxsCheck==true) {
$("[id*="+names[1]+"]:Checkbox").attr("checked",true);
}

//取消行选
var dys = $("[name*='dy']:Checkbox");
for(var i=0;i<dys.length;i++) {
$(dys[i]).bind("click", function(){
for(var j=0;j<dys.length;j++) {
if(dys[j].checked==false) {
$("[name='lc']:Checkbox").removeAttr("checked");
}
}
}
);
}

//取消列选
var lcs = $("[name='lc']:Checkbox");
for(var i=0;i<lcs.length;i++) {
$(lcs[i]).bind("click",function() {
for(var j=0;j<lcs.length;j++) {
if(lcs[j].checked==false) {
$("[name*='dy']:Checkbox").removeAttr("checked");
}
}
});
}
}

</script>
<style>
li {list-style:none;}
td {text-align:center;}
</style>
</head>
<body>
<center >
<table border="1" id="tab">
<tr>
<td width="69" height="113" rowspan="2">楼层</td>
<td height="55" colspan="4">
<input type="checkbox" id="A-" name="dy" value="checkbox" onclick="chkThese(this)">A
</td>
<td colspan="4">
<input type="checkbox" id="B-" name="dy" value="checkbox" onclick="chkThese(this)">B
</td>
</tr>
<tr>
<td height="28" colspan="2">
<input type="checkbox" id="A-A1" name="dy-cx" value="checkbox" onclick="chkThese(this)">1
</td>
<td height="28" colspan="2">
<input type="checkbox" id="A-A2" name="dy-cx" value="checkbox" onclick="chkThese(this)">2
</td>
<td colspan="2">
<input type="checkbox" id="B-B1" name="dy-cx" value="checkbox" onclick="chkThese(this)">1
</td>
<td colspan="2">
<input type="checkbox" id="B-B2" name="dy-cx" value="checkbox" onclick="chkThese(this)">2
</td>
</tr>
<tr>
<td height="107">
<input type="checkbox" id="3F" name="lc" value="checkbox" onclick="chkThese(this)">3F
</td>
<td width="70">
<div class='cell-layout'>
<ul class="left-over"><li></li></ul>
</div>
<div class='detail'></div>
<div class='detail'>
<input type="checkbox" id="3F-A-A1" name="house" value="checkbox" onclick="chkThese(this)">3A-1
</div>
</td>
<td width="75">
<P>
<div class='cell-layout'>
<li>122.00m2</li>
<li>两房一厅</li>
<li>园林/东南</li>
<li>A套餐</li>
</div>

</td>
<td width="53">
<div class='cell-layout'>
<ul class='left'><li></li></ul>
</div>
<div class='detail'></div>
<div class='cell-layout'>
<span class="detail"> <input type="checkbox" id="3F-A-A2" name="house" value="checkbox" onclick="chkThese(this)"> 3A-2</span>
</div>
</td>
<td width="92">
<P>
<div class='cell-layout'>
<ul class='right'>
<li>122.00m2</li>
<li>两房一厅</li>
<li>园林/东南</li>
<li>A套餐</li>
</ul>
</div>
</td>
<td width="53">
<div class='cell-layout'>
<ul class='left'><li></li></ul>
</div>
<div class='detail'></div>
<div class='cell-layout'>
<div class='cell-layout'>
<ul class='left'><li></li></ul>
</div>
<div class='detail'></div>
<div class='cell-layout'>
<span class="detail"> <input type="checkbox" id="3F-B-B1" name="house" value="checkbox" onclick="chkThese(this)"> 3B-1</span>
</div>
</div>
</td>
<td width="86">

<li>122.00m2</li>
<li>两房一厅</li>
<li>园林/东南</li>
<li>A套餐</li>
</td>
<td width="59">
<div class='cell-layout'>
<div class='cell-layout'>
<div class='detail'></div>
<div class='cell-layout'>
<span class="detail"> <input type="checkbox" id="3F-B-B2" name="house" value="checkbox" onclick="chkThese(this)"> 3B-2</span>
</div>
</div>
</div>
</td>
<td width="112">
<P>
<ul class='right'>
<li>122.00m2</li>
<li>两房一厅</li>
<li>园林/东南</li>
<li>A套餐</li>
</ul>
</td>
</tr>
<tr>
<td width="69" height="107">
<input type="checkbox" id="2F" name="lc" value="checkbox" onclick="chkThese(this,'2F')">2F
</td>
<td width="70">
<div class='cell-layout'>
<ul class="left-over"><li></li></ul>
</div>
<div class='detail'></div>
<input type="checkbox" id="2F-A-A1" name="house" value="checkbox" onclick="chkThese(this)">2A-1
</div>
</td>
<td width="75">
<P>
<ul class="left-over"><li></li></ul>
<ul class='right'>
<li>122.00m2</li>
<li>两房一厅</li>
<li>园林/东南</li>
<li>A套餐</li>
</ul>
</td>
<td width="53">
<div class='cell-layout'>
<span class="detail"> <input type="checkbox" id="2F-A-A2" name="house" value="checkbox" onclick="chkThese(this)"> 2A-2</span>
</div>
</td>
<td width="92">
<P>
<ul class='right'>
<li>122.00m2</li>
<li>两房一厅</li>
<li>园林/东南</li>
<li>A套餐</li>
</ul>
</td>
<td width="53">
<div class='cell-layout'>
<ul class='left'><li></li></ul>
</div>
<div class='cell-layout'>
<div class='cell-layout'>
<span class="detail"> <input type="checkbox" id="2F-B-B1" name="house" value="checkbox" onclick="chkThese(this)"> 2B-1</span>
</div>
</div>
</td>
<td width="86">
<P>
<ul class='left'><li></li></ul>
<ul class='right'>
<li>122.00m2</li>
<li>两房一厅</li>
<li>园林/东南</li>
<li>A套餐</li>
</ul>
</td>
<td width="59">
<div class='cell-layout'>
<ul class='left'><li></li></ul>
</div>
<div class='cell-layout'>
<div class='cell-layout'>
<div class='cell-layout'>
<span class="detail"> <input type="checkbox" id="2F-B-B2" name="house" value="checkbox" onclick="chkThese(this)"> 2B-2</span>
</div>
</div>
</div>
</td>
<td width="112">
<P>
<ul class='left'><li></li></ul>
<ul class='right'>
<li>122.00m2</li>
<li>两房一厅</li>
<li>园林/东南</li>
<li>A套餐</li>
</ul>
</td>
</tr>
</table>
</center>
</body>
</html>

分享到:
评论

相关推荐

    QT QTreeWidget添加复选框

    当我们需要在树形结构中实现选择功能时,可以给QTreeWidget的每一项添加复选框,以便用户可以选择单个或多个节点。这个过程涉及到Qt的自定义item delegate以及信号和槽的机制。 首先,我们要理解QTreeWidgetItem类...

    TreeControl复选框:选中某个节点的复选框后,自动选中子节点的复选框

    以上就是关于“TreeControl复选框:选中某个节点的复选框后,自动选中子节点的复选框”这一功能的技术实现和涉及的关键知识点。在实际开发中,开发者需要结合具体的编程环境,如C#、Java、Python等,以及相应的库或...

    QTableWidget表头添加复选框实现全选功能

    1. **复选框状态的保存与恢复**:在关闭和重新打开应用程序时,应能记住之前选择的状态。这可以通过保存和加载配置文件或者使用`QSettings`类来实现。 2. **多列全选**:如果需要在多列表头中实现全选功能,可以...

    Wincc复选框进行数据批量选择

    ### Wincc复选框进行数据批量选择 在工业自动化领域,使用Wincc(Windows Control Center)作为人机交互界面(HMI)时,经常会遇到需要处理大量数据的情况。此时,利用Wincc内置的复选框控件配合VBS(Visual Basic ...

    spreadjs_列头添加复选框全选功能-demo.zip

    在列头复选框全选功能的实现中,我们需要监听复选框的点击事件,然后遍历所有单元格并根据全选框的状态更改它们的选择状态。这可以通过调用SpreadJS的API来完成,例如 `sheet.setActiveRange()` 或 `sheet....

    带复选框JS树,JS带复选框的列表,很好用

    当复选框与树结构结合时,用户可以选择树中的某个节点或者整个分支,这在权限管理中尤其有用,例如,赋予用户对特定部分功能的访问权限。 "JS"即JavaScript,是一种广泛应用于Web开发的脚本语言,负责处理页面上的...

    MFC CListBox及CTreeCtrl具有复选框功能

    本篇文章将深入探讨如何在这些控件中实现复选框功能,从而提供更丰富的用户交互体验。 ### CListBox与复选框功能 **CListBox** 是一个常见的控件,通常用于展示一系列可选择的项目。在标准的CListBox中,通常只...

    unity-复选框,单选框

    在创建交互式游戏或应用时,复选框和单选框是不可或缺的元素,它们允许用户进行选择并提供反馈。本文将深入探讨Unity中的复选框和单选框,并提供实现这些功能的关键知识点。 一、Unity UI系统概述 Unity的UGUI是在...

    MSFlexGrid网格控件加复选框

    这个控件提供了数据展示和交互的基本功能,但默认情况下并未直接支持复选框。然而,通过一些技巧,我们可以模拟复选框的效果,就像"MSFlexGrid网格控件加复选框"这个标题所指出的那样。 在描述中提到的方法是利用...

    Qt之QTableView添加复选框

    本教程将深入探讨如何在QTableView中添加复选框,特别是在表头和第一列中实现这一功能,以增强用户界面的交互性。 首先,我们要明白QTableView的工作原理。它是基于QAbstractItemView类的,通过QStandardItemModel...

    复选框样式

    简单示例可能是基础的复选框样式修改,而复杂示例则可能包含了更多功能和交互效果。这两个ZIP文件——"大表单原生jq复选框样式.zip"和"原生jq复选框样式.zip",可能分别演示了如何在大型表单和纯JavaScript(jQuery...

    带复选框的多级目录树,复选框的选择控制子节点父节点 全选和反选

    在IT领域,尤其是在前端开发中,构建用户界面时经常需要处理多级目录树结构,并且在这样的结构中加入复选框功能,以便用户可以进行批量选择或者全选、反选操作。这种技术常用于文件管理器、权限设置、菜单配置等场景...

    复选框变单选框

    这通常涉及到对页面元素的动态控制和逻辑处理,确保在用户选择某个复选框时,同一组内的其他复选框自动变为未选状态,从而模拟出单选按钮的效果。 ### 技术实现细节 #### 1. DOM操作 DOM(Document Object Model...

    listview添加复选框

    为了增强用户交互性,我们有时需要在ListView中添加复选框,让用户能够对列表项进行选择。这个过程涉及到UI设计、事件处理以及数据绑定等多个方面。下面将详细讲解如何在C#的ListView中添加复选框,实现全选、反选...

    JSP列表中复选框批量选择功能实现

    在JavaServer Pages (JSP) 开发中,常常需要实现用户界面中的批量选择功能,比如在列表中通过复选框来选中多个项目。本文将详细介绍如何在JSP中实现这样的功能,主要涉及HTML、JavaScript 和后端Java的交互。 首先...

    超漂亮的表单复选框特效

    "超漂亮的表单复选框特效"是一个专注于提升用户体验的设计概念,它通过创新的视觉效果和交互方式,使复选框在功能性和美观性上达到平衡,从而吸引用户注意力并提高用户满意度。 复选框特效的实现通常涉及HTML、CSS...

    判断复选框的选择状态

    在IT界,尤其是在前端开发和用户界面设计中,"判断复选框的选择状态"是一个常见的需求,主要用于实现全选和全不选的功能。这个功能在各种列表或表格中广泛使用,比如在邮件客户端中选择多封邮件,或者在电商网站上...

    ireport制作复选框的办法

    复选框是报表设计中常用的控件之一,它可以帮助用户快速选择多个选项。 描述解释 iReport 制作复选框的方法可以满足用户在多选项时的需求,帮助用户快速选择多个选项。这种方法可以广泛应用于报表设计、数据分析和...

    复选框的左右移动

    6. **优化用户体验**:为了提高可用性,可以添加批量移动功能,比如选择多个复选框后一次性移动。还可以添加防止重复选择的机制,避免用户误操作。 7. **代码组织**:为了保持代码整洁,可以将复选框移动逻辑封装成...

    带复选框的下拉框

    "带复选框的下拉框"是一种常见的控件,它结合了下拉列表和复选框的功能,允许用户在多个选项中进行多选操作。在本案例中,我们讨论的是一个适用于Ext JS框架的特定实现,它已经针对不同版本进行了优化,解决了从3.2...

Global site tag (gtag.js) - Google Analytics