子节点复选框选中与取消选中

这是一个关于在网页中实现代理选择的功能页面,包括查询代理、显示代理商列表、展开/关闭子节点列表、全选/全不选子节点的复选框操作。页面使用JavaScript和jQuery进行交互控制,同时涉及了后端接口调用和数据处理。
摘要由CSDN通过智能技术生成
<%@page import="com.cits.online.buzlogic.bo.SpecifyAgentRelationBO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.cits.online.buzlogic.bo.OperatorBO,
				com.cits.online.common.login.OperatorFactory,
				com.cits.online.common.util.CmnUtFunc,
				java.util.List,
				java.util.Map,
				java.util.Iterator,
				java.util.Set"%>

<%
	OperatorBO operatorBO = (OperatorBO)OperatorFactory.getOperator().getOperatorBO();
	String opener_agent_text_name = CmnUtFunc.nvl(request.getParameter("agent_text_name"));
	String opener_agent_text_id = CmnUtFunc.nvl(request.getParameter("agent_text_id"));
	
	String openerAgentId = CmnUtFunc.nvl(request.getParameter("agentId"));
	
	String[] deptIdArray=null;
	if(CmnUtFunc.isNotNull(openerAgentId)){
	   deptIdArray = openerAgentId.split(",");
	}
	
	String company_id = CmnUtFunc.nvl(request.getParameter("company_id"));
	Map agentMap = (Map)request.getAttribute("agentMap");
	String operate_type = CmnUtFunc.nvl(request.getParameter("operate_type"));
	boolean showAllAgent = true;
	if(request.getAttribute("showAllAgent") != null){
		showAllAgent = ((Boolean)request.getAttribute("showAllAgent")).booleanValue();
	}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>代理选择new</title>
<script type='text/javascript' src='/citsonlineWeb/js/jquery/jquery.js'></script>
<script type='text/javascript' src='./online/js/jquery-1.9.1.js'></script>
<link href="<%=request.getContextPath()%>/themes/<%=operatorBO.getTheme() %>/css/common.css" rel="stylesheet" type="text/css" />
<link href="<%=request.getContextPath()%>/themes/<%=operatorBO.getTheme() %>/css/displaytag/screen.css" rel="stylesheet" type="text/css"/>
<style type="text/css">
	<!--
    .orange {
		font-family: "宋体";
		font-size: 12px;
		color: #ff7e22;
	} 
	-->
	</style>
<script language="JavaScript">
    	
	    
		function clean(){
			window.opener.document.getElementById("<%=opener_agent_text_name%>").value = "全部代理";
			window.opener.document.getElementById("<%=opener_agent_text_id%>").value = "";
			window.close();
		}
		
		function query(){
			var agent_name = document.getElementById("agent_name").value;
			var useForm = document.getElementById("agentForm");
			useForm.action = "./switchdo.do?prefix=/reportCenter&page=/reportCenterCommon.do&actionType=allAgent&operate_type=query&agent_text_name=<%=opener_agent_text_name%>&agent_text_id=<%=opener_agent_text_id%>&company_id=<%=company_id%>";
			useForm.submit();
		}
		//展开代理商列表
		function showAgentList(key){
			var flag = false;
			var flagText = event.srcElement.showFlag;
			if(flagText=="+"){
				flag = true;
				event.srcElement.showFlag = "-";
				event.srcElement.src="/citsonlineWeb/reportCenter/images/open.jpg";
			}else{
				flag = false;
				event.srcElement.showFlag 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现在QGIS二次开发中,当QgsLayerTreeGroup的复选框选中时,联动选中其所有子节点,可以按照以下步骤进行操作: 1. 获取QgsLayerTreeGroup对象 首先,需要获取到要操作的QgsLayerTreeGroup对象。可以通过QgsProject类的`layerTreeRoot()`方法获取整个图层树的根节点,然后通过遍历找到目标QgsLayerTreeGroup对象。例如: ```cpp QgsLayerTreeGroup* rootGroup = QgsProject::instance()->layerTreeRoot(); QgsLayerTreeGroup* targetGroup = nullptr; // 遍历图层树,找到目标QgsLayerTreeGroup对象 for (QgsLayerTreeNode* node : rootGroup->findLayers()) { if (node->type() == QgsLayerTreeNode::Group && node->name() == "Target Group") { targetGroup = dynamic_cast<QgsLayerTreeGroup*>(node); break; } } if (!targetGroup) { // 目标QgsLayerTreeGroup对象不存在,进行错误处理 return; } ``` 2. 监听复选框状态变化 使用QObject::connect()方法连接QgsLayerTreeGroup对象的`visibilityChanged()`信号与自定义槽函数,以监听复选框状态的变化。当复选框状态变化时,会自动调用槽函数。例如: ```cpp // 连接visibilityChanged信号与自定义槽函数 QObject::connect(targetGroup, &QgsLayerTreeGroup::visibilityChanged, this, &MyClass::onGroupVisibilityChanged); ``` 3. 实现槽函数 在槽函数中,可以遍历目标QgsLayerTreeGroup对象的所有子节点,并设置它们的复选框状态与目标QgsLayerTreeGroup对象一致。例如: ```cpp void MyClass::onGroupVisibilityChanged() { // 获取目标QgsLayerTreeGroup对象的复选框状态 bool groupVisible = targetGroup->isVisible(); // 遍历目标QgsLayerTreeGroup对象的所有子节点 for (QgsLayerTreeNode* node : targetGroup->findLayers()) { // 设置子节点复选框状态与目标QgsLayerTreeGroup对象一致 node->setItemVisibilityChecked(groupVisible); } } ``` 通过以上步骤,当目标QgsLayerTreeGroup对象的复选框状态变化时,其所有子节点复选框状态将会联动选中取消选中。请根据实际情况修改代码中的参数和逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值