`
zhengchao860730
  • 浏览: 62563 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

SimpleTree扩展:支持checkbox节点选择(半选、全选、不选)

阅读更多

由于公司项目的需要,现需要一棵带有复选框的树形结构,但项目里头已经运用了JquerySimpleTree组件来做树形展现,可是猴子用的版本不支持复选框勾选,也不想重新去找一个树形结构来用,于是乎就想对它进行扩展,现在来展示一下结果。呵呵,如果发现了啥BUG请及时给予回帖,猴子先谢谢啦~。。。。

该树形脚本需依赖 jquery1.2.6版本开发包。(高版本的我没试过,应该没啥影响!)

扩展内容:jquery.simple.tree.js

.... 
/** 
* added by zhengchao 2010-03-31 
*   beforeAjax : 展开AJAX之前的事件接口 
*/ 
var beforeAjax = false; 

/** 
*added by zhengchao 2010-04-05 
* nodeCheckBox : 多选框启用与否 
*/ 
var nodeCheckBox = false;

/** 
* added by zhengchao 2010-04-05 
* checkBoxClick : 多选框事件复写接口 
*/ 
var checkBoxClick = false; ........ 

/** 
* 复选框属性及状态标志 
* 默认属性,支持重新定义 
* by zhengchao 2010-04-05 
* 例: <span ck='a'>表示全选</span> 
*/ 
nodeCheckBox : false, ckFlag : 'ck', //标签中的元素 
allCheckFlag : 'a', //全选 
halfCheckFlag : 'h', //半选 
noCheckFlag : 'n', //没选 
checkBoxClick : false //多选框事件 ........ 

 

 

 

完整代码请查看附件。

 

算法上写的比较臭的地方。请大家见谅,欢迎拍砖^_^!!

 

 

 

 

 

 

 

 

 

 

分享到:
评论
15 楼 xieguolun 2012-11-04  
请问左边为一个读取数据库的数据生成的tree,右边的操作向数据库写入数据时如何更新tree?
14 楼 zhengchao860730 2010-06-29  
clixiang 写道
如果要form提交到服务器PHP脚本获取被勾选的值,现有版本应该不行吧??

我改了一下,终于可以成功获取.

哈哈~  发现高手了~  前一段时间没来这里 比较忙。呵呵
13 楼 clixiang 2010-06-28  
如果要form提交到服务器PHP脚本获取被勾选的值,现有版本应该不行吧??

我改了一下,终于可以成功获取.
12 楼 zhengchao860730 2010-05-25  
关于值的获取,SimpleTree本身就有自带的方法。我这里就不多做介绍老  呵呵~
11 楼 silent_hacker 2010-05-25  
zhengchao860730 写道
silent_hacker 写道
看来兄弟错会了我的意思。
我做了个小DEMO 你看下。现在后台的数据不知道该如何填充到checkbox里
jdk1.5 eclipse的

http://dl.iteye.com/topics/download/444275ec-48fa-344d-8cb9-28bef17801d2



终于明白了!  真不好意思~ 
补充:标志位定义在 <span ww=”aa”>A-1-1</span> 标签上
你的例子我已经弄好了  ~ 的确是我漏了! 文档也没说明 ~~

不容易啊 呵呵 jquery我是初学。
ckFlag我试过 好像不好用? 如何获取选中的节点值?
10 楼 zhengchao860730 2010-05-19  
silent_hacker 写道
看来兄弟错会了我的意思。
我做了个小DEMO 你看下。现在后台的数据不知道该如何填充到checkbox里
jdk1.5 eclipse的

http://dl.iteye.com/topics/download/444275ec-48fa-344d-8cb9-28bef17801d2



终于明白了!  真不好意思~ 
补充:标志位定义在 <span ww=”aa”>A-1-1</span> 标签上
你的例子我已经弄好了  ~ 的确是我漏了! 文档也没说明 ~~
9 楼 silent_hacker 2010-05-17  
看来兄弟错会了我的意思。
我做了个小DEMO 你看下。现在后台的数据不知道该如何填充到checkbox里
jdk1.5 eclipse的

http://dl.iteye.com/topics/download/444275ec-48fa-344d-8cb9-28bef17801d2


8 楼 zhengchao860730 2010-05-07  
silent_hacker 写道
zhengchao860730 写道
silent_hacker 写道
你理解错了。ck标记是代表全选还是半选还是没选吧。还有我这个代码是写的是radio单选框的做法(比较笨)^_^。

言归正传,就拿你的例子来说。
我传到前台一个list集合(比如是复数的人员信息),每人都有一个id(人员编号)。 怎么获得选择了哪些人员,使用checkbox。


单选框 - -!!  那我的这个可能不支持。 我后台是去获取input[type=checkbox]的dom对象.

那你这个用途何在?
checkbox的tree都是用来做权限、产品主档选择的吧- -。。。

你用单选框的话 你这个树还有什么用途呀? 树里头用单选框的话和你点击一个树节点有啥区别呀 。。 呵呵 估计你这个要自己去扩展了
7 楼 silent_hacker 2010-05-07  
zhengchao860730 写道
silent_hacker 写道
你理解错了。ck标记是代表全选还是半选还是没选吧。还有我这个代码是写的是radio单选框的做法(比较笨)^_^。

言归正传,就拿你的例子来说。
我传到前台一个list集合(比如是复数的人员信息),每人都有一个id(人员编号)。 怎么获得选择了哪些人员,使用checkbox。


单选框 - -!!  那我的这个可能不支持。 我后台是去获取input[type=checkbox]的dom对象.

那你这个用途何在?
checkbox的tree都是用来做权限、产品主档选择的吧- -。。。
6 楼 zhengchao860730 2010-05-06  
silent_hacker 写道
你理解错了。ck标记是代表全选还是半选还是没选吧。还有我这个代码是写的是radio单选框的做法(比较笨)^_^。

言归正传,就拿你的例子来说。
我传到前台一个list集合(比如是复数的人员信息),每人都有一个id(人员编号)。 怎么获得选择了哪些人员,使用checkbox。


单选框 - -!!  那我的这个可能不支持。 我后台是去获取input[type=checkbox]的dom对象.
5 楼 silent_hacker 2010-05-05  
你理解错了。ck标记是代表全选还是半选还是没选吧。还有我这个代码是写的是radio单选框的做法(比较笨)^_^。

言归正传,就拿你的例子来说。
我传到前台一个list集合(比如是复数的人员信息),每人都有一个id(人员编号)。 怎么获得选择了哪些人员,使用checkbox。
4 楼 zhengchao860730 2010-05-04  
silent_hacker 写道
<c:forEach items="${types}" var="tp">
<li class="close" id='${tp.typeId }'>
<span>
<input type='radio' name='myradio' value='${tp.typeId}' onclick='event.cancelBubble=true;'/>
${tp.title }
                        </span>
        </li>
</c:forEach>


博主看下。这是我实现单选框方法的前台。 你那个生成checkbox的脚本在JS里,我怎么把foreach出来的值填入到checkbox里。

为什么是 type="redio" ,不是应该是 type="checkbox" , 假设你此时为checkbox了,等待页面都完全画好以后,你将整个遍历结束的HTML进行树形化(例如:$("#treeId").simpleTree(....,在这里定义属性 “你的标记”=“你的值”)) 在你贴的这个片段中没有看到标记,说明默认采用CK标记。我这么说你明白吗?
3 楼 silent_hacker 2010-05-04  
<c:forEach items="${types}" var="tp">
<li class="close" id='${tp.typeId }'>
<span>
<input type='radio' name='myradio' value='${tp.typeId}' onclick='event.cancelBubble=true;'/>
${tp.title }
                        </span>
        </li>
</c:forEach>


博主看下。这是我实现单选框方法的前台。 你那个生成checkbox的脚本在JS里,我怎么把foreach出来的值填入到checkbox里。
2 楼 zhengchao860730 2010-04-28  
silent_hacker 写道
试着做了一下。发现checkbox的value值不好放进去? 因为服务端都是foreach出来的 这个怎么解决?

服务端肯定默认要能够传出当前节点的状态呀, 数据也是遍历出来的,这个状态可以自己定义,我有提供定义接口 默认是 ck=n  ,我想问一下 你遍历出来的是什么样子的东西,是HTML片段还是 XML或者JSON ?  发来看看~
1 楼 silent_hacker 2010-04-27  
试着做了一下。发现checkbox的value值不好放进去? 因为服务端都是foreach出来的 这个怎么解决?

相关推荐

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

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

    Checkbox全选问题

    HtML javascritp checkbox 全选HtML javascritp checkbox 全选

    extree改造:让checkbox节点支持给复选框和文字分别添加事件

    extree改造:让checkbox节点支持给复选框和文字分别添加事件 改造过程可看http://blog.csdn.net/vkqiang/archive/2010/12/07/6060098.aspx

    JS实现CheckBox复选框全选、不选或全不选功能

    CheckBox复选框JS实现全选、不选、全不选功能,很简单,具体内容如下 思路: 1、获取元素 2、给全选 不选 反选添加点击事件 3、用for循环checkbox 4、把checkbox的checked设置为true即实现全选 5、把checkbox的...

    扩展了一棵jquery的树插件SimpleTree(jquery.simple.tree.js),支持json数据,checkbox树,以及异步加载,

    `jQuery SimpleTree`支持复选框功能,使得用户可以选择树形结构中的一个或多个节点。这对于实现多级选择或构建层级关系的权限管理等场景非常实用。复选框的逻辑可以配置为独立的,也可以是父子关联的,即父节点的...

    checkbox的全选与取消

    在网页设计中,复选框(Checkbox)是用户界面中不可或缺的一部分,它允许用户对多个选项进行选择。本文将深入探讨“复选框的全选与取消”这一主题,主要基于提供的HTML文件“checkbox.html”。全选和取消功能通常...

    winform DataGridView表头带CheckBox全选

    在这个特定的场景中,我们关注的是如何在`DataGridView`的表头添加一个`CheckBox`,以便实现全选和全不选的功能。这将大大提升用户体验,使得用户可以快速地对所有行进行操作,如批量删除、更新等。 首先,我们需要...

    WPF之CheckBox组的全选设计

    在设计一个CheckBox组时,可能会遇到需要实现全选功能的需求,即点击一个主CheckBox可以同时选择或取消选择所有子CheckBox。这个功能的实现涉及到位运算和枚举的Flags特性,这两个是C#编程中的重要概念。 **位运算*...

    实现table表格checkbox复选框的全选 反选

    var allChecked = $('.itemCheckbox').length === $('.itemCheckbox:checked').length; $('#selectAll').prop('checked', allChecked); }); }); ``` 这段JavaScript代码做了以下几件事: 1. 当全选复选框被点击...

    对 Struts 2 的 s: iterator tag 中嵌套的所有 s: checkbox 进行全选、反选操作

    ()" value="全不选" /&gt; ``` 3. **JavaScript 功能**:编写两个JavaScript函数,`selectAllChecks()` 和 `deselectAllChecks()`,它们将遍历所有复选框并改变其选中状态。 ```javascript function ...

    简约时尚CSS样式,checkbox 全选或取消全选、或得到选中个数全案例使用详解

    1. CSS选择器:通过类选择器、ID选择器、元素选择器等来定位`checkbox`元素,如`.myCheckbox`、`#selectAll`和`input[type="checkbox"]`。 2. 样式属性:改变`checkbox`的边框、背景、尺寸、颜色等,例如`border-...

    JQ checkbox 全选和全不选

    "JQ checkbox 全选和全不选"这个主题聚焦于jQuery如何实现复选框的选择功能,特别是全选和全不选的交互效果。这种功能常见于数据表格或列表的筛选中,允许用户一次性选择或取消选择所有项目。 首先,我们需要了解...

    VB.NET为DataGridView添加CheckBox实现全选全不选复选框

    Datagridview控件没有全选或取消全选的复选框,本资源用VB2015通过扩展DataGridViewColumnHeaderCell类,在列头绘制一个复选框checkbox控件,通过定义checkbox鼠标单击事件来实现行的全选或取消全选。checkbox还可以...

    jQuery实现checkbox全选的方法

    本文实例讲述了jQuery实现checkbox全选的方法。分享给大家供大家参考。具体分析如下: 通过checkbox 进行全选和取消全选的操作,如果通过toggle进行处理,则会出现checkbox无法显示对勾的问题。 使用click事件,根据...

    checkbox实现全选和反选经典例子

    这可以通过监听全选Checkbox的`CheckedChanged`事件来实现,然后遍历DataGridView的所有行,设置每一行的Checkbox为与全选Checkbox状态一致。 - **反选功能**:反选意味着取消所有已选中的项。这可以通过再次触发...

    CheckBox实现多选、全选、反选功能

    本教程将深入探讨如何使用CheckBox实现多选、全选和反选功能,这对于构建具有选择列表的应用非常关键。 首先,我们从基础开始。CheckBox的用法很简单,通常在XML布局文件中定义: ```xml &lt;CheckBox android:id="@...

    EXTJS动态树支持checkbox 全选

    可以设置`threeState`来决定是否支持三态复选(全选、部分选、全不选),以及`checkGroup`来分组复选框,使得同一组内的复选框只能有一个被选中。 4. **事件监听**:监听节点的`checkchange`事件,当用户改变复选框...

    checkbox切换全选与全不选

    《锋利的jquery》利用this.checked判断全选与全不选

    Recyclerview item上CheckBox,包括全选,取消全选,单选功能

    本文将深入探讨如何在RecyclerView的item上添加CheckBox,并实现全选、取消全选以及单选功能。 首先,我们需要创建一个自定义的RecyclerView Adapter。Adapter是连接数据源与RecyclerView的关键,它负责将数据转化...

Global site tag (gtag.js) - Google Analytics