nodetree中 前面复选框的去掉插件

extendTreeCheck.js

 /**
* tree方法扩展
* 作者:小雪转中雪
*/
$.extend($.fn.tree.methods, {
/**
* 激活复选框
* @param {Object} jq
* @param {Object} target
*/
enableCheck : function(jq, target) {
return jq.each(function(){
var realTarget;
if(typeof target == "string" || typeof target == "number"){
realTarget = $(this).tree("find",target).target;
}else{
realTarget = target;
}
var ckSpan = $(realTarget).find(">span.tree-checkbox");
if(ckSpan.hasClass('tree-checkbox-disabled0')){
ckSpan.removeClass('tree-checkbox-disabled0');
}else if(ckSpan.hasClass('tree-checkbox-disabled1')){
ckSpan.removeClass('tree-checkbox-disabled1');
}else if(ckSpan.hasClass('tree-checkbox-disabled2')){
ckSpan.removeClass('tree-checkbox-disabled2');
}
});
},
/**
* 禁用复选框
* @param {Object} jq
* @param {Object} target
*/
disableCheck : function(jq, target) {
return jq.each(function() {
var realTarget;
var that = this;
var state = $.data(this,'tree');
var opts = state.options;
if(typeof target == "string" || typeof target == "number"){
realTarget = $(this).tree("find",target).target;
}else{
realTarget = target;
}
var ckSpan = $(realTarget).find(">span.tree-checkbox");
ckSpan.removeClass("tree-checkbox-disabled0").removeClass("tree-checkbox-disabled1").removeClass("tree-checkbox-disabled2");
if(ckSpan.hasClass('tree-checkbox0')){
ckSpan.addClass('tree-checkbox-disabled0');
}else if(ckSpan.hasClass('tree-checkbox1')){
ckSpan.addClass('tree-checkbox-disabled1');
}else{
ckSpan.addClass('tree-checkbox-disabled2')
}
if(!state.resetClick){
$(this).unbind('click').bind('click', function(e) {
var tt = $(e.target);
var node = tt.closest('div.tree-node');
if (!node.length){return;}
if (tt.hasClass('tree-hit')){
$(this).tree("toggle",node[0]);
return false;
} else if (tt.hasClass('tree-checkbox')){
if(tt.hasClass('tree-checkbox-disabled0') || tt.hasClass('tree-checkbox-disabled1') || tt.hasClass('tree-checkbox-disabled2')){
$(this).tree("select",node[0]);
}else{
if(tt.hasClass('tree-checkbox1')){
$(this).tree('uncheck',node[0]);
}else{
$(this).tree('check',node[0]);
}
return false;
}
} else {
$(this).tree("select",node[0]);
opts.onClick.call(this, $(this).tree("getNode",node[0]));
}
e.stopPropagation();
});
} });
}
});

调用方法

 /**
* 禁用树形菜单的复选框
* @param disableChecks
*/
function forbiddenTreeCheck(disableChecks){
var level = 0;
$.each(disableChecks,function(key,item){
level = item.attributes.cj;
if(level == 1 || level == 2 || level == 3){
var node = $("#geologicalmapTableID").tree('find',item.id);
$('#geologicalmapTableID').tree('disableCheck', node.target);// 禁用
}
});
}

树形菜单的初始化

 /**
* 初始化树形菜单
*/
function initgeologicaltreeLoad() {
var url = rootPath+'/jasframework/ycsy/geologicalmaptree.do';
$('#geologicalmapTableID').tree( {
url : url,
lines:true,
checkbox:true,
onBeforeLoad:function(node, param) {
if (node!=null) {
$(this).tree('options').url = url+"?cj="+node.attributes.cj+"&parentid="+encodeURI(encodeURI(node.attributes.parentid))+"&checked="+node.checked;
} else {
$(this).tree('options').url = url;
}
},
onCheck:function(node, checked) {
var nodeName = node.attributes.imagename;
var modelId = listModelName(nodeName);
var backID = judgeNodelContaineModelId(nodeName);
if(checked){
if(backID==null){
createProcessBar();
showPic(node.text,node.attributes.parentid);
setTimeout(function(){
closeProcessBar();
},3000);
}else{
objectActions(backID,"显隐",1);
}
}else{
var ID = getModelID(nodeName);
objectActions(backID,"显隐",0);
// objectActions(ID,"显隐",0);
}
},
onDblClick: function(node){
if(node.attributes.cj=='4'){
// var xTemp1=node.attributes.zxjd;
// var xTemp2=node.attributes.zdjd;
// var yTemp1=node.attributes.zxwd;
// var yTemp2=node.attributes.zdwd;
//
// var longitude =(parseFloat(xTemp1)+parseFloat(xTemp2))/2;
// var latitude =((parseFloat(yTemp1)+parseFloat(yTemp2)))/2;
var elevation1 = node.attributes.elevation;
var longitude= node.attributes.longitude;
var latitude = node.attributes.latitude;
var countheight = countHighlyMethod(longitude,latitude);
var elevation =elevation1 + countheight;
if(longitude==0||latitude==0){
$.messager.alert('警告','抱歉,此图件信息不全');
}else{
// setTimeout(function(){
location1(longitude,latitude,elevation1,'0.000000','-90.0000000');
// },1000);
} }
},
onContextMenu: function(e,node){
e.preventDefault();
onTreeContextMenu(node);
},
onLoadSuccess:function(node, data){
forbiddenTreeCheck(data);
if(node == null){
if(!isfirstLoaded){
rootNodes = data;
initFactoryName(data);
isfirstLoaded = !isfirstLoaded;
}
}else{
var parent = $('#geologicalmapTableID').tree('getParent', node.target);// 获取指定厂区区块节点
if(parent == null){
var children = $('#geologicalmapTableID').tree('getChildren', node.target);// 获取指定厂区区块节点
initAreaName(children);
}
}
}
});
}

nodetree中 前面复选框禁用插件的更多相关文章

  1. 在word中做复选框打对勾钩

    在word中做复选框打对勾钩 现在终于搞明白正确的操作方法 一.你在word里输入2610,按alt+X就能出 空checkbox 你在word里输入2611,按alt+X就能出 打了勾的checkb ...

  2. QTableView中嵌入复选框CheckBox 的四种方法总结

    搜索了一下,QTableView中嵌入复选框CheckBox方法有四种: 第一种不能之前显示,必须双击/选中后才能显示,不适用. 第二种比较简单,通常用这种方法. 第三种只适合静态显示静态数据用 第四 ...

  3. python QQTableView中嵌入复选框CheckBox四种方法

    搜索了一下,QTableView中嵌入复选框CheckBox方法有四种: 第一种不能之前显示,必须双击/选中后才能显示,不适用. 第二种比较简单,通常用这种方法. 第三种只适合静态显示静态数据用 第四 ...

  4. jQuery+SpringMVC中的复选框选择与传值

    一.checkbox选择 在jQuery中,选中checkbox通用的两种方式: $("#cb1").attr("checked","checked& ...

  5. 依赖layui form模块 复选框tree插件(拓展可根据属性单选还是多选,数据反选)

    近些天接的项目用的是layui.以前没用过,踩了很多坑,坑就不多说了,直接说layui的tree.因为自带的tree不满足需求,所以在论坛.博客上找了很久终于找到了可以复选的的插件,原文地址:http ...

  6. 如何在select下拉列表中添加复选框?

    近来在给一个公司做考试系统的项目,遇到的问题不少,但其中的几个让我对表单的使用颇为感兴趣,前端程序员都知道,下拉列表有select标签,复选框有checkbox,但是两者合在一起却少有人去研究,当时接 ...

  7. 在php中验证复选框

    PHP接收多个同名复选框信息不像ASP那样自动转换成为数组,这给使用带来了一定不便.但是还是有解决办法的,就是利用javascript做一下预处理.多个同名复选框在javascript中还是以数组的形 ...

  8. DevExpress XtraTreeList的复选框 禁用

    树的2个事件代码如下,通过节点的tag判断是否禁用节点前的复选框.树的节点加载时设置要禁用的节点tag为-1,不禁用的则设为相关的值 private void treeListPer_CustomDr ...

  9. asp.net,根据gridview 中checkbox复选框选中的行对数据库进行操作

    在asp.net中,使用checkbox,对gridview添加复选框. 多选数据行后,根据已选数据,对原数据进行多条语句查询. string sql = "Select * from 表 ...

随机推荐

  1. NYOJ-289 苹果 289 AC(01背包) 分类: NYOJ 2014-01-01 21:30 178人阅读 评论(0) 收藏

    #include<stdio.h> #include<string.h> #define max(x,y) x>y?x:y struct apple { int c; i ...

  2. std::function,std::bind复习

    #include <iostream> #include <functional>//std::bind返回函数对象 void fun1(int a, int b) { std ...

  3. [geeksforgeeks] Bottom View of a Binary Tree

    http://www.geeksforgeeks.org/bottom-view-binary-tree/ Bottom View of a Binary Tree Given a Binary Tr ...

  4. Ajax HTML, JS

    Ajax Request HTML <script></script>及外部的js文件,都需要 var scriptStrs = response.match(/\<[\ ...

  5. 用wget实现cookie欺骗

    用wget实现cookie欺骗 . 分析登录界面的html代码 页面在 http://bbs.linuxeden.com/ <form. id="loginform" met ...

  6. uva 10817

    Problem D: Headmaster's Headache Time limit: 2 seconds The headmaster of Spring Field School is cons ...

  7. Windows命令查看文件MD5

    certutil -hashfile filename MD5 certutil -hashfile filename SHA1 certutil -hashfile filename SHA256

  8. ArrayList,LinkedList,Vector,Stack之间的区别

    一,线程安全性 Vector.Stack:线程安全 ArrayList.LinkedList:非线程安全 二,实现方式 LinkedList:双向链表 ArrayList,Vector,Stack:数 ...

  9. java 哪些情况下会使对象锁释放

    Java_多线程_锁释放 问:Java多线程运行环境中,在哪些情况下会使对象锁释放?答:由于等待一个锁的线程只有在获得这把锁之后,才能恢复运行,所以让持有锁的线程在不再需要锁的时候及时释放锁是很重要的 ...

  10. Linux下find一次查找多个指定类型文件,指定文件或者排除某类文件,在 GREP 中匹配多个关键 批量修改文件名等

    http://blog.sina.com.cn/s/blog_62e7fe670101dg9d.html linux下二进制文件查找: strings 0000.ts | grep -o " ...