JQuery Easyui Tree的oncheck事件实现代码_jquery

 

用firebug查看其生成html,发现其checkobx是假的,只是一个span,来回的变样式而已,汗

复制代码 代码如下:

$(".tree-checkbox", tree).unbind(".tree").bind("click.tree", function() {
if ($(this).hasClass("tree-checkbox0")) {
$(this).removeClass("tree-checkbox0").addClass("tree-checkbox1");
} else {
if ($(this).hasClass("tree-checkbox1")) {
$(this).removeClass("tree-checkbox1").addClass("tree-checkbox0");
} else {
if ($(this).hasClass("tree-checkbox2")) {
$(this).removeClass("tree-checkbox2").addClass("tree-checkbox1");
}
}
}
_2eb($(this).parent());
_2ec($(this).parent());
return false;
});

然后再看其onClick事件脚本
代码

复制代码 代码如下:

$(".tree-node", tree)
....
bind("click.tree", function() {
$(".tree-node-selected", tree).removeClass("tree-node-selected");
$(this).addClass("tree-node-selected");
if (opts.onClick) {
var _2ea = this;
var data = $.data(this, "tree-node");
opts.onClick.call(this, { id: data.id, text: data.text, attributes: data.attributes, target: _2ea });
}
})

相应的修改其check脚本

复制代码 代码如下:

$(".tree-checkbox", tree).unbind(".tree").bind("click.tree", function() {
if ($(this).hasClass("tree-checkbox0")) {
$(this).removeClass("tree-checkbox0").addClass("tree-checkbox1");
} else {
if ($(this).hasClass("tree-checkbox1")) {
$(this).removeClass("tree-checkbox1").addClass("tree-checkbox0");
} else {
if ($(this).hasClass("tree-checkbox2")) {
$(this).removeClass("tree-checkbox2").addClass("tree-checkbox1");
}
}
}
_2eb($(this).parent());
_2ec($(this).parent());
return false;
}).bind("click.tree", function() {//gzl增加
if ($(this).hasClass("tree-checkbox1") && opts.onCheck) {
var _2e9 = this;
var data = $.data(this, "tree-node");
opts.onCheck.call(this, { id: data.id, text: data.text, attributes: data.attributes, target: _2e9 });
}
});

可是怎么也取不到Data值,最后只好$(this).parent().click(),click事件加check是否变为选中判断,两个事件用一个方法,唉
多希望出个新版本,或者哪位大牛给改改,我能力太有限了。

时间: 2024-09-07 12:54:16

JQuery Easyui Tree的oncheck事件实现代码_jquery的相关文章

JQuery Easyui Tree的oncheck事件实现代码

onClick事件脚本 $(".tree-node", tree) .... bind("click.tree", function() { $(".tree-node-selected", tree).removeClass("tree-node-selected"); $(this).addClass("tree-node-selected"); if (opts.onClick) { var _2ea

扩展jquery easyui tree的搜索树节点方法(推荐)_jquery

如下所示: /** * 1)扩展jquery easyui tree的节点检索方法.使用方法如下: * $("#treeId").tree("search", searchText); * 其中,treeId为easyui tree的根UL元素的ID,searchText为检索的文本. * 如果searchText为空或"",将恢复展示所有节点为正常状态 */ (function($) { $.extend($.fn.tree.methods,

jquery下div 的resize事件示例代码_jquery

这是某位大神写的jquery下div 的resize事件. 复制代码 代码如下: //resize of div (function($, h, c) { var a = $([]), e = $.resize = $.extend($.resize, {}), i, k = "setTimeout", j = "resize", d = j + "-special-event", b = "delay", f = "

jQuery EasyUI tree 使用拖拽时遇到的错误小结_jquery

在我使用tree拖拽时总是失败,控制台输出了很多错误. 经过跟踪分析发现这是一个由于特殊配置导致的错误. 原先错误的代码如下: $('#tree').tree({ //省略其他 loadFilter: function(data, parent){ return data.rows; } }); 由于我后台返回值并不是一个直接适合tree使用的数据,需要从中取出rows才可以,所以就有了这段代码. 而 EasyUI 出错的原因就在于当拖动时,拖动方法中仍然会调用loadFilter方法,如下图代

jquery下div 的resize事件示例代码

 这篇文章主要介绍了某位大神写的jquery下div 的resize事件,需要的朋友可以参考下 这是某位大神写的jquery下div 的resize事件.   代码如下: //resize of div  (function($, h, c) {  var a = $([]),  e = $.resize = $.extend($.resize, {}),  i,  k = "setTimeout",  j = "resize",  d = j + "-s

jquery 回车事件实现代码_jquery

例子,jquery键盘事件.回车键事件用法. // 键盘事件 1.keydown()  keydown事件会在键盘按下时触发.  2.keyup()  keyup事件会在按键释放时触发,也就是你按下键盘起来后的事件  3.keypress()  keypress事件会在敲击按键时触发,我们可以理解为按下并抬起同一个按键 复制代码 代码如下: // 回车键事件 // 绑定键盘按下事件     $(document).keypress(function(e) {      // 回车键事件     

实例讲解jQuery EasyUI tree中state属性慎用_jquery

EasyUI 1.4.4 tree控件中,如果是叶子节点,切忌把state设置为closed,否则该节点会加载整个tree,形成死循环 例如: json入下: [ { "checked": false, "iconCls": "", "id": "dec", "pid": "", "state": "closed", "

使用jQuery+EasyUI实现CheckBoxTree的级联选中特效_jquery

需求:子结点选中,父节点随之选中,父节点取消,子节点随之取消 代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> &

jQuery EasyUI API 中文文档 - Menu菜单_jquery

用 $.fn.menu.defaults 重写了 defaults. <?XML:NAMESPACE PREFIX = O /> 文档 - Menu菜单_jquery-jquery easyui menu"> 复制代码 代码如下: <div id="mm" class="easyui-menu" style="width:120px;"> <div>New</div> <div