javacript实现TreeView中checkBox的选择

Doris StreamLoad任务报错Connection reset 背景 Spark程序扫一张Hive表(大小3-7G),然后用http协议的streamLoad任务提交给Doris集群,在Doris集群从0.13.15升级到0.14.12后spark程序报错streamLoad时突然会Connection reset 分析 enable_http_server_v2 这个参数可以参考FE中文配置中查看到,作用是对于Doris界面是否开启新风格的界面,但是实际上他的作用远不止如此,请接着看 新老版本对于enable_http_server_v2参数默认值是不同的 在0.13 阅读详情
/***************************************************************************************
Name: Client Javascript for ASP.NET 2.0 TreeView
Description: ASP.NET 2.0 TreeView lack for client operation. This set of functions provide
    some supports. Includes:
    * get node
    * change checkbox status of parent and child nodes
我转载下面这仁兄的,它是javacript高手。大家要是有不明白的给他发电邮。我自己加了点东西。方便有用之人。 把整个页面复制建立一个js文件,加载到你的项目中去,就可以用里面的函数了。
Author: Zhangtao, zhangtao.it@gmail.com
Date:   2006-03-30
Commonts:
***************************************************************************************/

//set child nodes checkbox status
function TV2_SetChildNodesCheckStatus(node,isChecked)
{
    var childNodes = TV2i_GetChildNodesDiv(node);
    if(childNodes == null)
        return;
       
    var inputs = WebForm_GetElementsByTagName(childNodes,"INPUT");
    if(inputs == null || inputs.length == 0)
        return;

    for(var i = 0; i < inputs.length; i++)
    {
        if(IsCheckBox(inputs[i]))
            inputs[i].checked = isChecked; 
    }
}  

//我自已加上去的
function TV2_SetParentsCheckedStatus(tree,node,isChecked)
{
    if(node==null)
    return;
    var parent=TV2_GetParentNode(tree,node)
    if(parent==null)
    return;
    var flag=0;
   
    if(!isChecked)
    {
    //alert("start");
        var childNodes=TV2_GetChildNodes(tree,parent);
        var mm=childNodes.length;
       
        for(var i=0;i<childNodes.length;i++)
        {
        var item=childNodes[i];
        var value= TV2_NodeGetChecked(item);
            if(value)
            {
                flag=flag+1;
            }
        }
     }
       
     //还有同深度的节点选中.
    if(flag>0)
           return; 
    while(1)
    {
        TV2_NodeSetChecked(parent,isChecked);
        parent=TV2_GetParentNode(tree,parent);
        if(parent==null)
         break;
    }
}

//change parent node checkbox status after child node changed
function TV2_NodeOnChildNodeCheckedChanged(tree,node,isChecked)
{
    if(node == null)
        return;
            
    var childNodes = TV2_GetChildNodes(tree,node);
   
    if(childNodes == null || childNodes.length == 0)
     {
        return;
     }   
   
    var isAllSame = true;

    for(var i = 0; i < childNodes.length; i++)
    {
        var item = childNodes[i];
        var value = TV2_NodeGetChecked(item); //循环节点的checked值
       
        if(isChecked != value) //只要某一个子节点与父节点的checked值不同时,就要跳出循环
        {
            isAllSame = false;
            break;
        }
    }

    var parent = TV2_GetParentNode(tree,node);
    if(isAllSame)
    {
    //相同时
        TV2_NodeSetChecked(node,isChecked);       
        TV2_NodeOnChildNodeCheckedChanged(tree,parent,isChecked);
    }   
    else
    {   
        TV2_NodeSetChecked(node,false); 
        TV2_NodeOnChildNodeCheckedChanged(tree,parent,false);
    }
}

//get node relative element(etc. checkbox)
function TV2_GetNode(tree,element)
{
    var id = element.id.replace(tree.id,"");  
    id = id.toLowerCase().replace(element.type,"");   
    id = tree.id + id;
   
    var node = document.getElementById(id);
    if(node == null) //leaf node, no "A" node
        return element;
    return node;
}

//get parent node
function TV2_GetParentNode(tree,node)
{
    var div = WebForm_GetParentByTagName(node,"DIV");
   
    //The structure of node: <table>information of node</table><div>child nodes</div>
    var table = div.previousSibling;
    if(table == null)
        return null;  
  
    return TV2i_GetNodeInElement(tree,table);
}

//get child nodes array
function TV2_GetChildNodes(tree,node)
{
    if(TV2_NodeIsLeaf(node))
        return null;
   
    var children = new Array();
    var div = TV2i_GetChildNodesDiv(node);
    var index = 0;
   
    for(var i = 0; i < div.childNodes.length; i++)
    {
        var element = div.childNodes[i];       
        if(element.tagName != "TABLE")
            continue;
       
        var child = TV2i_GetNodeInElement(tree,element);
        if(child != null)
            children[index++] = child;
    }
    return children;
}

function TV2_NodeIsLeaf(node)
{
    return !(node.tagName == "A"); //Todo
}

function TV2_NodeGetChecked(node)
{
    var checkbox = TV2i_NodeGetCheckBox(node);  
    return checkbox.checked;
}

function TV2_NodeSetChecked(node,isChecked)
{
    var checkbox = TV2i_NodeGetCheckBox(node);
    if(checkbox != null)
     checkbox.checked = isChecked;
}

function IsCheckBox(element)
{  
    if(element == null)
        return false;
    return (element.tagName == "INPUT" && element.type.toLowerCase() == "checkbox");
}

//get tree
function TV2_GetTreeById(id)
{
    return document.getElementById(id);
}

//////////////////////////////////////////////////////////////////////////////////////////////
//private mothods, with TV2i_ prefix
//////////////////////////////////////////////////////////////////////////////////////////////

//get div contains child nodes
function TV2i_GetChildNodesDiv(node)
{
    if(TV2_NodeIsLeaf(node))
        return null;
       
    var childNodsDivId = node.id + "Nodes";
    return document.getElementById( childNodsDivId );
}

//find node in element
function TV2i_GetNodeInElement(tree,element)
{
    var node = TV2i_GetNodeInElementA(tree,element);
    if(node == null)
    {
        node = TV2i_GetNodeInElementInput(tree,element);
    }
    return node;
}

//find "A" node
function TV2i_GetNodeInElementA(tree,element)
{
    var as = WebForm_GetElementsByTagName(element,"A");
    if(as== null || as.length == 0)
        return null;

    var regexp = new RegExp("^" + tree.id + "n//d+$");

    for(var i = 0; i < as.length; i++)
    {
        if(as[i].id.match(regexp))
        {
            return as[i];
        }
    }     
    return null;
}

//find "INPUT" node
function TV2i_GetNodeInElementInput(tree,element)
{
    var as = WebForm_GetElementsByTagName(element,"INPUT");
    if(as== null || as.length == 0)
        return null;
       
    var regexp = new RegExp("^" + tree.id + "n//d+");

    for(var i = 0; i < as.length; i++)
    {
        if(as[i].id.match(regexp))
        {
            return as[i];
        }
    }     
    return null;
}

//get checkbox of node
function TV2i_NodeGetCheckBox(node)
{
    if(IsCheckBox(node))
        return node;
       
    var id = node.id + "CheckBox";
    return document.getElementById(id);  
}
RK3588 部署 YOLO26 目标检测:从训练到 NPU 推理 如果做垂直场景(工业缺陷、农作物、特定零件),需要自己标数据。采集图像(500+ 张,覆盖不同光照/角度)→ 筛选(删除模糊/无目标)→ LabelImg 标注(选择 YOLO 格式)→ 划分(train:val:test = 7:2:1)labelImg├── train/├── val/├── test/YOLO26 在 RK3588 上的全流程是 PC 端训练 + ONNX 导出 → RKNN 转换(INT8 量化)→ 板端推理。 阅读详情

相关推荐

Python量化入门:用pytdx获取800个交易日K线数据的完整指南(附代码)

本文为Python量化交易初学者提供了使用pytdx库免费获取股票日线级别K线数据的完整指南。文章详细介绍了从环境搭建、单只股票数据获取,到构建健壮的批量下载器、数据清洗与验证,再到基础分析与可视化的全流程,并附有可直接运行的代码示例,帮助读者快速建立本地股票数据库。

weixin_29050513的博客 1463

treeTabelView --带checkBox可选择的树状表格

import javafx.application.Application; import javafx.beans.property.*; import javafx.beans.value.ObservableValue; import javafx.scene.Scene; import javafx.scene.control.CheckBoxTreeItem; import java...

qq_40419501的博客 816

【信道编码/Channel Coding】线性分组码

这是本专栏信道编码/Channel Coding的第二站,想对信道编码有一个系统性的认识可以看本专栏的信道编码的整体框架一文。而在本篇文章中,将介绍线性分组码的基本原理。

Tomatomatodo的博客 9243

JavaFx TreeView TreeItem 设置额外属性

发现TreeItem中也存在T的泛型,而且可以通过TreeItem.getValue()方法得到T的实例对象,那现在一目了然了,我们在构建TreeItem的时候完全可以将我们的学生类封装进去,这样当我获取额外属性时,就可以通过getValue()方法获取了,不过另一个问题是,在这个节点上我显示的是什么,如果我封装的是对象的话,是不是显示的就是对象地址?那如果TreeItem封装的对象设置了toString()方法,是不是节点的显示内容就是toString()方法返回的内容呢?发现并没有设置额外属性的方法。

kanyun123的博客 2635

Electron多窗口开发避坑指南:Pinia状态同步的3种解决方案对比

本文深入探讨了在Electron多窗口应用中实现Pinia状态同步的三种核心方案。针对Electron多窗口架构下状态隔离的挑战,文章对比了基础事件通信、共享存储以及智能Pinia插件等方案的优劣与适用场景,并提供了生产级的实现指南与选型建议,帮助开发者构建健壮高效的桌面应用。

spice的博客 479

PLC编程入门基础知识

PLC即为可编程逻辑控制器,实质是一种专用于工业控制的计算机,其硬件结构基本上与微型计算机相同。

SANRENYIXING的博客 2万+

关于TreeView中CheckBox的使用

      项目设计中要使用TreeView中CheckBox(在TreeView的属性中的CheckBoxes设为ture)。想达到一个这样的效果:            1、选中一个节点,则子节点的状态为当前节点的状态并设置展开或折叠。如:本来默认全部是折叠的,当选择Laboratory并使其Checked为true时,其子节点的状态都为true并展开节点,反之。关闭节点。    

fan_xiaohu的专栏 2万+

从C-EPS到DP-EPS:手把手图解不同EPS类型怎么选,对你的车操控感影响有多大?

方向盘转动时那股细腻的阻尼感,高速过弯时令人安心的沉稳,或是狭窄车位里一根手指就能拨动的轻盈——这些看似微妙的差异,其实都源自转向系统电机那几厘米的安装位置变化。当我们谈论驾驶乐趣时,发动机参数和悬架调校总是占据C位,但真正连接驾驶者与车辆的神经末梢,恰恰是那套默默工作的电动助力转向系统(EPS)。不同EPS类型带来的操控特性差异,可能比马力数字更能定义一辆车的性格。

weixin_30920513的博客 531

TreeView控件的CheckBox自动实现父子节点递归选定

C#程序, Frame2.0框架。基于TreeView控件的CheckBox。实现功能:根据复选节点的平级节点情况修改父级节点情况并递归修改上一级父节点的复选情况;根据须复选节点的复选情况,自动修改子节点以及下一级子节点的复选情况。以下为代码原文(已生成控件,如要使用,直接继承即可)算法原理:简单的递归,当存在父节点(子节点)的时候,递归调用本身进行判断。作者的话:很简单的小功能,

huntergwc的专栏 1022

避免bank conflict的使用共享内存的矩阵转置。及其循环展开。转置前后都是行主序,中间共享内存中是列主序

为了避免bank conflict,可以使用padding的方式将数组中的每一行各自占据一个bank,这样每个线程读取不同行的数据时就不会发生bank conflict。padding的方式是在每行数据后面添加一定数量的空数据,使得每行的字节数恰好是bank的整数倍,这样就能保证每行数据各自占据一个bank。具体来说,当一个线程访问共享内存中的一个元素时,GPU会根据该元素在共享内存中的地址计算出其所在的bank,然后将该元素从该bank中读取出来。

weixin_55035144的博客 2144

MIKE水动力笔记8_冷启动与热启动

在【MIKE水动力笔记5_建立水动力模型】中,讲到【Step 2 设置模型参数】中的【Initial Conditions】时,提到了冷启动与热启动。本博文就详细讲解何为冷启动、热启动,并通过一个案例具体分析两者不同。...

晏长街的博客 6568

解决treeview的checkbox级联选择

以下代码实现了当TreeView节点包含CheckBox时保持其父子节点状态一致,即:当选中父节点,子节点会全部自动选上,反之则全部取消。选择某个子节点,同样应该选中这个字节点的父节点(包括祖先节点)。在网上也找了一些方法,但是我觉得这是TreeView的一个缺陷,因此应该在该控件内部实现,而不应该附加一些外部的js来控制TreeView,有什么问题可以给我留言,我及时更正: 先在后置cs文件里里...

weixin_30270889的博客 172

微信小程序 - 详解苹果ios手机请求不到数据访问不了接口,但安卓却可以正常访问。wx.request苹果手机IOS请求失败、安卓可以请求成功(微信小程序上线后苹果手机不能访问接口,网络请求失败排查)

微信小程序上线后,苹果手机请求不到数据,安卓可以,微信小程序,安卓可以调接口,苹果调不了的解决方案,微信小程序:IOS访问不了接口,安卓可以正常访问,微信小程序ios版本连接不了服务器,小程序Android可以请求,ios请求失败wx.request,成功上线的小程序,安卓机可以正常访问使用,苹果微信小程序不执行请求,苹果系统无法加载数据,微信小程序 iOS 网络失败,微信小程序接口请求在ios端报错,苹果手机真机调试微信小程序出现网络请求失败,微信小程序 安卓正常 ios调接口显示网络请求失败,微信小程序

🏆 前端领域优质创作者 4361

TreeView中父子节点的checkbox的同时选中问题,js控制.

html: <asp:TreeView ID="tvLimit" runat="server" ShowCheckBoxes="All" onclick="javascript:GoClick();" ShowLines="True" ExpandDepth="0"></asp:TreeView&gt...

JUDD14273的博客 251

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

TreeView 获取选中的Value和Text文本,下面只能获取文本

js 如何获取treeview checkbox 选中的value的值 如题  我现在只能获取文本    function returnValue() {              var tree = document.getElementById("treeView").getElementsByTagName("INPUT");              for (var i =

huangzhen222的专栏 4104

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

自己开发开源jquery插件--给jquery.treeview加上checkbox

  很多时候需要把树状的数据显示除来,比如分类,中国省份、城市信息,等,因此这方面的javascript插件也有很多.比如性能优异的jquery.treeview和国人开发的功能强大的zTree. 我最近在一个项目中用到了jquery.treeview,但是很可惜的是这款小巧高效的jquery插件不支持checkbox的行为。因此我花了两三个小时给它加上了对于checkbox的支持,同时...

18520195858的博客 110

jquery treeview checkbox选中子目录,同时选中父目录,关联选择

jquery treeview 的选中子目录,同时选中父目录,关联选择 //wirted by qq:190988779 at 2010-1-5 9:52:08 //可以配合jquery treeview使用效果很好。 $(document)

foart的专栏 5009

js操作TreeView

<br /> 最近在论坛上回答了一些关于客户端操作TreeView节点选中的问题,在网友提供的代码基础上做了两个例子。可惜原贴已经丢失了,整理一下写成文档吧 <br /> 为了书写方便,这两个例子没有采用codebehind方式,复制即可运行 <br /><br /> 第一个例子是当取消或选中节点选中状态时,子节点也做相应的取消或选中变化 <br /> 需要注意的是如果要初始设置TreeNode为选中状态,只能在客户端设置。如果在服务器端设置TreeNode为选中状态,则在客户端使用getAtt

liaozhigang1010的专栏 1544

.Net Treeview Checkboxes - Check All 功能

 目前来看完成Treeview中Checkbox的Check All功能只能自己写Javascript在Treeview控件中加入onclick="treeViewCheck(event) ;" 下面是我找到的一段JS代码,经实验没有问题。function goDeeperChecked(obj){   var chk1 = true;   // Get the parent.  

luzi171的专栏 757

TreeView单击选中复选框

本篇如何实现动态生成TreeView;如何实现TreeView单击选中复选框;如何实现TreeView复选框单选其中涉及:TreeNodeCheckChanged,SelectedNodeChanged,javascript__doPostBack("","");,    CheckedNodes文章地址:http://blog.csdn.net/jjjjj102310253/archiv

捧哏的人 784

收集的一些JS资料

[url=http://blog.csdn.net/yicel/archive/2007/10/11/1819575.aspx]ASP.NET 2.0 TreeView控件实现checkbox的单选[/url] [url=http://www.zhisi.net/Article/2007/200710/Article6178.html]ASP.NET中前台javascript与后台代码调用[...

daniel.wuz 149

为TreeView添加复选框 以及复选框的联动....吐血奉献 虽然不是原创

html:要注意 这里的 ShowCheckBoxes="ALL" 为所有的节点添加CheckBox        asp:TreeView ID="TreeView1" runat="server" Height="178px"            Width="96px"  ShowLines="True" ShowCheckBoxes="All">        asp:TreeV

gooluk的专栏 1484

实现了CheckBox连动效果的treeview

//  Copyright (c) 2000-2003 Microsoft Corporation.  All Rights Reserved.//---------------------------------------------------------------------->public:component tagname=treeview literalcontent=true

dadou 1456

如何给TreeView中的每一项加上可复选框的CheckBox?

TreeView不能像ListView中的CheckBox一样多选,只能用StateImage,效果不错,但不是CheckBox,而是画一个打勾的图形(Index=3)。当某个Item被选中后,前面就出现这个打勾的图标,当再次点击时,打勾的图标就消失。在TreeView的OnClick事件中添加如下代码: if TreeView2.Selected.StateIndex &...

weixin_34067980的博客 1081

TreeView中CheckBox的使用

要求如下: 1、判断同级节点是否全部选中,从第一个节点开始 2、判断同级节点是否全未选中,从第一个节点开始 3、如果该节点选中,则其子节点全部选中,反之亦然 4、如过该节点选中,则其父节点依次选中 5、如果该节点没有选中,且同级节点全未选中,则取消父节点 #region 判断同级节点是否全部选中,从第一个节点开始 private bool IsAllCh

梦之颠——应用与二次开发专栏 1974

javascrip实现:若选中TreeView的父节点checkbox,则其子节点全部选中

这里用javascript 方法实现了TreeView的checkbox选中的效果:1:选中父节点的时候,其子节点将自动选中;2:若父节点不选中,其子节点也全部选中;2:若其中一个子节点uncheck的时候,其父节点的状态就不选中。该方法在IE7 和firefox下均可执行:  Untitled Page <!--

琉璃色 1131

javaFx(8)TreeView

package application; import javafx.application.Application; import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.control.TreeItem; import javafx.scene.control.TreeView; import j...

越看越喜欢啊 1万+
上一篇: 应用程序域
下一篇: Qt5.0 的新特性
KeequenLiu
博客等级 码龄20年 26粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值