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. 【转载】C++编译出现 error C2664: 不能将参数 2 从“const char [5]”转换为“LPCTSTR”解决办法。

    编译程序的时候出现这样的错误,原因是在新建MFC项目的时候,设置字符集Unicode的属性. 解决方法一: 在VC2010的解决方案管理器窗口内,右击你的项目“项目”,然后选“属性”(最后一项),再点 ...

  2. Science:给青年科研工作者的忠告

  3. silverlight的第一个程序

    摘要:silverlight是微软公司全力打造的一种跨平台.跨浏览器的RIA新技术,silverlight以XAML为界面呈现语言,支持2D矢量图形.动画.数据绑定.控件风格与模板.LINQ.WCF. ...

  4. IDA 在string窗口中显示中文字符串

    打开ida61\cfg中的ida.cfg文件找到 // (cp866 version)AsciiStringChars = "\r\n\a\v\b\t\x1B" " !\ ...

  5. 【C++】指针数组和数组指针

    首先的首先,稍微抱怨一下阿里今天的严重失误.说好的晚六点笔试,说好的务必提前半小时到场.六点十五的时候告诉闷在一个大教室里躁动的我们“今天七点半开考,大家先回去吧,七点半再过来”,满脸黑线…等到七点半 ...

  6. Delphi美化界面 转载

    手头的项目做的差不多了,交给客户,结果给出的结论是界面太难看了,至少要做成像QQ类似的界面.(目前是QQ2009界面确实还是不错的,本人也非常喜欢). 1.透明问题. 要重新调整界面确实很麻烦,以前用 ...

  7. POJ 3484

    Showstopper Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1060   Accepted: 303 Descri ...

  8. POJ 2041

    #include <iostream> #include <string> #include <algorithm> using namespace std; st ...

  9. Project Euler P105:Special subset sums: testing 特殊的子集和 检验

    Special subset sums: testing Let S(A) represent the sum of elements in set A of size n. We shall cal ...

  10. web服务器【apache/nginx] 关闭目录的浏览权限

    web服务器[apache/nginx] 关闭目录的浏览权限 我的配置(将Options 中的Indexes干掉): <VirtualHost *:80> ServerAdmin webm ...