动态生成矩阵选择器,选择面板

Axure RP 9实战:5分钟搞定动态多项选择器(附完整交互设置) 本文提供了一份Axure RP 9实战指南,详细讲解如何利用动态面板和中继器快速构建一个高交互性的动态多项选择器。文章从核心组件规划、数据驱动列表到完整的交互逻辑实现,提供了可复用的步骤与优化技巧,帮助设计师和产品经理提升原型保真度与用户体验。 阅读详情
根据数据库中的数据量的大小动态生成矩阵布局的选择器,我称之为“选择面板”,在网络上查了很多资料,但是没有一个是符合我的要求的。终于在同伴们和自己的参悟下,把布局给设计出来,后来奋力学习JQuery的脚本使用,才最后修成正果!
以下是具体的实现代码:
1.js脚本:
<script type="text/javascript">
	$(document).ready(function(){
		//1.当选择文本框的文本内容改变的时候触发的事件
		$("#culture").change(function(){
			var $time1 = $("#ol-reg-il-beginTime").val();
			var $time2 = $("#ol-reg-il-endTime").val();
			var $endDate = $("#culture").val();
			window.location.href="/box/boxPrice?t1="+$time1+"&t2="+$time2+"&nDate="+$endDate;
		});
		//2.当点击查询价格按钮触发
		$("#showPricesAnalysis").click(function(){
			var $checkboxs = $("input[type=checkbox]:checked");
			 var date = $("#culture").val();
			var tables = "";
			var length;
			 $checkboxs.each(function(index,domEle){
				 //获取多个选中的值,传递到后台查询,并转发到另一个页面
				 tables=tables+domEle.value+",";
			 });
			 length=$checkboxs.length;
			 $("#data").attr("value",tables);
			 $("#execDate").attr("value",date);
		});
		
		// 行列选择事件
		$("a[id^='0_']").bind("click",function(){
			var $checkboxs = $("input[name=items]");
			var id = $(this).attr("id");
			var arra = id.split("_");
			var se = arra[1];
			$("input[name='items'][id$='_"+se+"']").attr("checked","checked");
			var $colSel = $("input[name='items'][id$='_"+se+"']");
			$(this).bind("click",function(){
				if($colSel.attr("checked")){
					$colSel.removeAttr("checked");
				}else{
					$colSel.attr("checked","checked");
				}
			});
		});
		
		$("a[id$='_0']").bind("click",function(){
			var $checkboxs = $("input[name=items]");
			var id = $(this).attr("id");
			var arra = id.split("_");
			var se = arra[0];
			$("input[name='items'][id^='"+se+"_']").attr("checked","checked"); 
			var $rowSel = $("input[name='items'][id^='"+se+"_']");
			$(this).bind("click",function(){
				if($rowSel.attr("checked")){
					$rowSel.removeAttr("checked");
				}else{
					$rowSel.attr("checked","checked");
				}
			});
		});
		//全选和取消全选事件
		 $("a[id='0_0']").bind("click",function(){
			 var $checkboxs = $("input[name=items]");
			 $checkboxs.attr("checked","checked");
			 $(this).bind("click",function(){
				 if($checkboxs.attr("checked")){
					 $checkboxs.removeAttr("checked");
				 }else{
					 $checkboxs.attr("checked","checked");
				 }
			 });
		 });
	});
	
</script>


2.html面板选择器代码:

说明一下(kList是从数据库中动态读取的数据,类型是List<String>  , 但是因为才每次动态读取之前,我都先往kList列表中加入了一个String "All" 为了占位的。)

<form action="/box/boxChart" method="post" id="form1">
			<input type="hidden" id="data" name="data">
			<input type="hidden" id="execDate" name="execDate">
			<!-- 1.顶部时间 -->
			<div id="timediv">
			
			请选择执行表:
				<select name="culture" id="culture" style="width:98px">
					<c:forEach var="table" varStatus="i" items="${tableList}">
							<c:if test="${selectDate==table}">
								<option value="${selectDate}" selected = "selected">${selectDate}</option>
							</c:if>
							<c:if test="${selectDate!=table}">
								<option value="${table}">${table}</option>
							</c:if>
							
					</c:forEach>
				</select>
				<input type="submit" id="showPricesAnalysis" value="查询价格" />
			</div>
			<hr>
			<div id="space" style="width:100%;height:10px;"></div>
			
			<!--2.panel选择器 -->
			<div id="paneldiv" style="width:100%; height:100%;">
				<table border="1px" cellpadding="5" cellspacing="0" id="bigtable">
					<c:forEach var="item" varStatus="status" items="${kList}" >
						<tr>
							<c:forEach var="k"  varStatus="sta" items="${kList}" >
								<c:if test="${sta.getIndex()<1 or status.getIndex()<1}"><!-- 如果是第一行或者是第一列-->
		                             <span style="white-space:pre">				</span><c:if test="${sta.getIndex()>=status.getIndex()}"><!-- 第一行n列,不重复列举-->
		                             	<span style="white-space:pre">			</span>  <td align="center"><a id="${status.getIndex()}_${sta.getIndex()}">${k}</a></td>
									 </c:if>
									 <c:if test="${sta.getIndex()<status.getIndex()}"><!-- 第一列n行,不重复列举-->
		                             	<span style="white-space:pre">			</span>   <td align="center"><a id="${status.getIndex()}_${sta.getIndex()}">${item}</a></td>
									 </c:if>
								</c:if>
								<c:if test="${sta.getIndex()>=1 and status.getIndex()>=1}"><!-- n行n列,重复列举*号-->
									<c:if test="${sta.getIndex()!= status.getIndex()}">
			                           <span style="white-space:pre">				</span><td align="center"><input type="checkbox" name="items" id="${status.getIndex()}_${sta.getIndex()}" value="${selectDate}_${item}_${k}" /></td>
									</c:if>
									<c:if test="${sta.getIndex()== status.getIndex()}">
			                           <span style="white-space:pre">				</span><td align="center">x</td>
									</c:if>
								</c:if>
							</c:forEach>
						</tr>
					</c:forEach>
				</table>  
			</div>
</form>	




3.效果如图:



基于scrcpy构建多设备矩阵投屏系统:原理、架构与实战 在移动应用测试、直播控场与教学演示等场景中,高效管理多台安卓设备是常见的工程需求。传统单点投屏工具难以满足并行操作需求,而矩阵投屏技术通过统一控制台实现多设备集中管理与同步操作,大幅提升工作效率。其核心原理基于Android Debug Bridge(ADB)协议与视频流编码技术,通过设备发现、进程隔离与窗口管理模块,将底层投屏能力封装为可视化管理系统。本文以开源神器scrcpy为基础,深入解析如何构建支持**多设备并行控制**的矩阵投屏解决方案,涵盖Electron架构设计、**ADB连接管理**、资源隔 阅读详情

相关推荐

别再被‘cannot read properties of null’卡住了!手把手教你用Chrome DevTools定位并修复appendChild报错

本文深入解析前端开发中常见的'cannot read properties of null'报错,特别是appendChild操作引发的错误。通过Chrome DevTools的Console、Elements和Sources面板联动调试,提供系统化的六步诊断法,帮助开发者快速定位并修复DOM操作时序、元素选择策略等深层问题,提升调试效率。

weixin_27379781的博客 306

从零封装:uniapp跨端时间范围选择器组件的设计与实现

本文详细介绍了如何在uniapp中从零封装一个跨端时间范围选择器组件,解决第三方组件在多端适配中的样式不一致、功能冗余等问题。通过轻量无依赖的设计、平台一致性优化和业务友好的API接口,实现高性能的时间范围选择功能,适用于预约系统、数据分析等多种场景。

weixin_29015483的博客 381

从零到一:AI Scraper Studio如何重塑非技术用户的数据采集体验

AI Scraper Studio通过自然语言交互技术,彻底改变了非技术用户的数据采集体验。这款AI驱动的智能工具将复杂的爬虫技术简化为自然语言指令,使电商运营等业务人员无需编程即可完成专业级数据采集,大幅提升效率并降低技术门槛。

weixin_29048309的博客 311

使用JavaScript实现动态表格

通过以上步骤,我们可以使用JavaScript实现动态表格的功能。这不仅可以帮助我们快速构建交互式网页,还可以提高用户体验和数据展示效果。在实现过程中,需要注意数据验证、样式设置、排序、数据绑定和过滤搜索等方面的问题,以确保表格的可靠性和易用性。同时,也可以根据实际需求进行扩展和优化,以实现更加复杂的功能。

BANaanaa的博客 1431

超越基础:用R打造可交互的confusion matrix可视化(shiny+plotly实战)

本文详细介绍了如何使用R语言结合shiny和plotly工具打造交互式confusion matrix可视化方案。通过动态阈值调节、多维信息展示和移动端适配等核心技术,帮助数据科学家更高效地向非技术决策者展示模型性能,特别适用于金融风控和医疗AI等商业场景。

weixin_28487433的博客 343

JavaScript实现杨氏3X3矩阵(附完整源码)

JavaScript实现杨氏3X3矩阵(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 156

JS 实现列表与多选框选择

1功能预览 2html代码 <span> <tr> <td><img onclick="addType()" src="${msUrl}/images/logo/add.png">产品范围:</td> <td><select id="selectTypeOne" class...

weixin_30699955的博客 673

从AD到HFSS:Gerber文件驱动的PCB三维电磁仿真全流程解析

本文详细解析了从AD到HFSS的Gerber文件驱动的PCB三维电磁仿真全流程,重点介绍了Gerber文件作为桥梁的重要性、AD端Gerber文件导出实战指南、HFSS 3D Layout导入技巧及高级问题排查方法。通过实际案例和技巧分享,帮助工程师高效完成PCB电磁仿真,提升设计验证效率。

weixin_33735077的博客 260

表格组件Table加单选框

表格组件Table加单选框 <tr v-for="(item, i) in ApiList2" :key="i" style="height:30px;"> <input v-model="api4" :value="item.ADDRESS" type="radio" @change="getAddress" /> <...

Overdue_的博客 1555

Nexus7二代刷机教程(新手向)

该教程将使用lineageos(Android 11),同时借鉴了lineage官方的教程和songelf的教程。

2403_84391487的博客 5217

python零基础入门到精通,python入门到精通教程

坚持到了这儿,恭喜你,表示你有做开发的潜力,其实我想说的上面的内容还是刚刚开始,刚开始大家不需要多么精通了解这些内容,除了Python方面的知识,每个部分掌握一点儿能进行基本开发就好,主要是不断练习,让自己跳出「舒适区」,进入「学习区」,但是又不进入「恐慌区」,不断给自己「喂招」。上述这份完整版的Python全套学习资料已经上传优快云官方,朋友们如果需要可以扫描下方二维码免费获取【保证100%免费】

YYmmsss的博客 3459

矩阵形状的选择器

矩阵选择器的容器 &lt;div class="selectJZ" style="display: none"&gt;&lt;/div&gt; 蒙板 &lt;div id="maskLayer" class="maskLayer" style="display: none;"&gt;&lt;/div&gt; function show

zhanghuiyu01的博客 375

因果推断综述-A Survey on Causal Inference

最近读到一篇讲述很全面的综述文献-《A Survey on Causal Inference》,对于接触因果推断不久的同学而言是特别详细的介绍和科普。文献很长,我会分成几部分介绍。 目录 摘要 第一部分:简介 第二部分:因果推断基础知识 第三部分:基于三种假设的因果推断方法 第四部分:实验 第五部分:应用 摘要 几十年来,因果推理是一个跨许多领域的关键研究主题,如统计、计算机科学、教育、公共政策和经济学。与随机对照试验相比,研究方向由于可用数据量大且预算要求低,如今,从观测数据..

海边凝望的博客 3183

影刀RPA XPath语法入门:属性选择器精确定位元素

本文介绍了影刀RPA中使用XPath属性选择器精确定位网页元素的方法。主要内容包括:1) 属性选择器的适用场景(元素频繁失效、复杂网页结构等);2) 操作步骤:通过Chrome开发者工具查找元素属性,构建XPath表达式,在影刀中使用;3) 常见问题及解决方案:动态ID、重复属性、iframe嵌套等;4) 实用技巧:多属性组合、模糊匹配等。文章强调属性选择器相比默认捕获方式更具稳定性,能有效解决元素定位失效问题,适合已掌握基础元素捕获但需要提高稳定性的RPA用户。

聪明的你,肯定能在地球上另一个位置找到我!RPA自动化流程机器人定制,代做,问题咨询! 209

学好超几何分布的核心公式,破解双色球!

彩票本质是概率游戏,不存在"必中公式"科学投注的核心是风险收益比管理长期投注的期望值始终为负(理论回报率约47%-63%)数学维度:运用概率工具优化策略经济维度:控制投注成本在可承受范围人文维度:将彩票视为社会公益的参与方式通过本文构建的数学模型,彩民可以在概率框架内实现更理性的投注决策。但最终能否收获幸运,仍取决于那个永恒的未知数——概率女神的眷顾。一、超几何分布的核心公式。

weixin_44904675的博客 1万+

Docker - 基本概念、与虚拟机的区别、架构、镜像操作、容器操作、数据卷挂载

p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口(配置映射是因为用户只能通过 http 请求访问到服务器,不能直接访问到对应的容器,因此需要服务器端口与容器端口建立映射关系)这里我们有两种启动 redis 的方式,第一种是直接启动 redis ,第二种是以 AOF 持久化的方式启动容器(--appendonly yes),如下图。如果需要持续查看日志信息可以添加 -f 参数,例如:docker logs -f mn ,这里 mn 是自定义容器名称, ctrl + c 可以停止跟踪。

CYK_byte的博客 1万+

jQuery DOM操作深度解析:从选择器到性能优化的完整指南

DOM(文档对象模型)是Web开发中浏览器解析HTML文档形成的树形结构,它是前端交互的基石。其核心原理在于通过JavaScript动态操作DOM节点,实现页面内容的增删改查与样式更新,这一能力直接决定了Web应用的交互体验与性能表现。在技术价值层面,高效的DOM操作能显著提升页面响应速度、优化渲染性能,并确保复杂交互的流畅性。无论是构建动态表单、实现实时数据展示,还是开发交互式UI组件,DOM操作都是不可或缺的核心技术。本文聚焦于jQuery这一经典库,深入剖析其强大的选择器系统、链式遍历方法以及事件委托

weixin_30509393的博客 450

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

如何解决群晖Docker注册表查询失败/无法拉取镜像等问题

XiaoqiangClub的博客 1万+

Unity HSV颜色选择器:从原理到集成与深度定制指南

在计算机图形学与交互设计中,颜色模型是定义和操作颜色的基础。HSV(色相、饱和度、明度)模型因其符合人类直觉感知的特性,在需要精细调色的场景中比传统的RGB模型更具优势。其原理是将颜色分解为色相、饱和度、明度三个直观维度,使得用户可以通过操作色相环和SV矩形区域来“感觉”颜色的变化,极大提升了交互效率和体验。这一技术价值在于为UI设计、特效制作、材质编辑等提供了更自然的颜色控制方案。在Unity引擎的游戏开发与交互应用场景中,集成一个功能完善的HSV颜色选择器组件,能有效解决内置拾取器功能局限的痛点。本指南

weixin_33804582的博客 389

概率的接力:拆解大模型“预测下一个词“的底层逻辑

大模型的智能不在于它拥有了意识,而在于它用纯数学的架构,将人类语言的复杂结构压缩为可计算的向量轨迹与概率接力。当我们不再将其拟人化为"思考者",而是视作高维条件概率引擎时,才能真正驾驭它。预测下一个词,从来不是终点,而是起点。未来的核心竞争力,属于那些能洞察其统计本质、善用其模式生成能力,并以人类理性与事实为锚点的协作者。词元的轨迹终会止步于上下文窗口,但对技术底层的清醒认知,才是跨越幻觉、走向真实智能的基石。

AI浩 332

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

影刀RPA 浏览器F12开发者工具:配合影刀元素定位的实战技巧

F12开发者工具是影刀开发者的"透视眼镜"。它让你看到网页背后的真实结构,而不是表面的像素。养成先F12分析、再写选择器、最后用影刀捕获验证的习惯——这能让你的元素定位成功率从60%提升到95%以上。

聪明的你,肯定能在地球上另一个位置找到我!RPA自动化流程机器人定制,代做,问题咨询! 151

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

南北阁4.1-3B WebUI惊艳效果:天蓝圆点矩阵+悬浮输入框UI动效实录

本文介绍了如何在星图GPU平台上自动化部署🌸 Nanbeige 4.1-3B Streamlit WebUI (极简清爽版)镜像,快速搭建一个具备天蓝圆点矩阵背景与悬浮输入框动效的沉浸式AI聊天界面。该界面专为南北阁大模型设计,提供了类似现代聊天应用的流畅交互体验,适用于构建美观且实用的AI对话应用。

weixin_35756690的博客 562

HSV-Color-Picker-Unity组件详解:SVBoxSlider与ColorSlider使用指南

HSV-Color-Picker-Unity是一款专为Unity UI设计的色彩选择工具,它提供了直观的HSV色彩调节功能,帮助开发者轻松实现色彩选择交互。本文将详细介绍其中两个核心组件——SVBoxSlider与ColorSlider的使用方法,让你快速掌握Unity色彩选择器的实现技巧。 ## 核心组件概述:SVBoxSlider与ColorSlider的功能定位 在HSV色彩模型中,S(

gitblog_00271的博客 794

Playwright实战:拦截网络请求破解携程机票价格日历数据

在现代Web开发中,动态渲染和异步数据加载已成为主流技术,这使得传统基于静态HTML解析的爬虫方法面临巨大挑战。其核心原理在于,现代网站通过JavaScript在客户端动态生成内容,数据通常通过XHR或Fetch请求从API异步获取。为了有效获取这类数据,工程师需要采用更接近真实浏览器行为的技术方案,这直接关系到数据采集的稳定性与效率。Playwright作为一个现代化的浏览器自动化框架,其技术价值在于不仅能够模拟完整的用户交互,更关键的是提供了强大的网络请求监听与拦截能力。这使得开发者可以从复杂的DOM解

weixin_33743880的博客 393

实战替代方案:在快马平台从零开发并部署可商用的在线公式编辑工具

在技术文档写作或教学场景中,数学公式编辑是刚需。过去很多人依赖Mathtype等桌面软件,但破解版存在法律风险且无法团队协作。最近我用从零开发了一个在线公式编辑器,完全满足商用需求,分享下实现思路和关键点。

CrystalwaveStag的博客 33

影刀RPA XPath语法入门:搞定难捕获的元素

用影刀RPA的「智能捕获」功能,大部分元素都能直接捕获。但总有一些顽固的元素没有唯一idclass名字每次都变(动态生成)嵌套层级很深,路径太长不稳定元素藏在iframe里文字内容是动态的,只能模糊匹配这种时候,就需要XPath出场了。XPath是一种在HTML文档里查找元素的查询语言。学会它,网页上99%的元素你都能精准定位。XPath是影刀RPA里最值得花时间学习的技术点之一。90%的元素都能精确定位不再依赖智能捕获的运气流程稳定性大幅提升基础四件套//tag@attr。

聪明的你,肯定能在地球上另一个位置找到我!RPA自动化流程机器人定制,代做,问题咨询! 218
上一篇: JSP开发c标签易错总结
下一篇: 使用Redis之前5个必须了解的事情(转载)
jamin_tan007
博客等级 码龄12年 1粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值