动态生成复选框列表弹性盒子

QTableWidget 动态创建选择框Checkbox并修改和获取状态 QTableWidget第一列,动态创建QCheckbox,单击行,可以修改Checkbox的状态。 单击按钮,循环表格,获取checkbox选中的行数据。 阅读详情

效果图

在这里插入图片描述

1.准备一块盒子区域 id=“checkBoxList” 为例

//样式的简单介绍
style{
overflow:scroll; //让超出div 内容在div区域内以滚动条形式呈现
display: flex;  //搞一个弹性盒子容器
flex-wrap: wrap;align-content: flex-start; // 文本对齐方式 这里是上下元素的内容对齐
}
//这里行内样式举例
<div id="checkBoxList" style="overflow:scroll;height:93%;
display: flex;flex-wrap: wrap;align-content: flex-start; width: 100%;
padding-left: 10px">

 //这块区域待动态放复选框列表
 
</div>

2.准备一块文本域 textArea

<textarea id="textAreaId" rows="16" cols="70" placeholder="请选择复选框加载内容到此处..."
 style=" resize:none; font-size: 25px;font-family:'Microsoft YaHei';
 width: 100%;height: 100% ">这里不要留空白,看完删掉此处,否则鼠标不聚焦文本域左上方</textarea>

3.动态加载复选框列表项

这里加载列表项不允许以 “、”分割,为后续分割符使用

//页面初始化
$.parser.onComplete = function(res) {
	//页面打开执行或者手动点击加载
	dynamicLoadCheckboxList()
}

function dynamicLoadCheckboxList() {
	//清空文本域内容
    document.getElementById("textAreaId").value='';
	//清空盒子里内容
    $("#checkBoxList").html("");
    
    //后台请求复选框内数据列表  --简单一个sql查询语句
    $.post(BASE_PATH + "/xxxController/xxxxxxx.do", {}, function (res) {
        if (res.result == '200') {
          let  checkDataList= res.checkDataList;
            for(let j=0; j < checkDataList.length; j++ ){
            //在盒子中动态加载 checkbox元素列表
                $("#checkBoxList").append(
                    "<label style='font-size: 15px;width: 25%'>"
                    + "<input name='checkItem' type='checkbox'  value="
                    + checkDataList[j].checkName
                    + ">"
                    + checkDataList[j].checkName
                    +"</label>"
                );
                //每四个元素内容一行                
                if( (j+1) % 4 == 0){
                    $("#checkBoxList").append("<br>");
                }
            }     
        } else {
            showMessage(res.Msg);
        }
    }, "JSON");
}

4.对盒子内复选框列表项进行监听


$("#checkBoxList").on('click', function () {
		//获取文本域内容
		let textArea = "textAreaId";
		//复选框选择勾选遍历每一项元素
		$("input[name=checkItem]:checkbox:checked").each(function () {
			//获取当前遍历的复选框值  上边代码中input 内 value="checkName" 就是取这个value
			let str = $(this).val().toString();
			let flag = $(this).context.checked;//取复选框勾选状态 这里是true 
			selectCheckedHandle(flag,str,textArea);
		});
		
		//复选框取消勾选遍历每一项元素
		$("input[name=checkItem]:not(:checked)").each(function() {
			let deletestr = $(this).val().toString();
			unSelectUncheckedHandle(deletestr,checkIdArea);
		});
	});


//遍历选择复选框处理
function selectCheckedHandle(flag,str,checkIdArea) {
    debugger
    let ele = document.getElementById(checkIdArea);
    let reg = /\s+/g;//去除空白区域
    if (typeof ele.value === 'string') {
        ele.value = ele.value.replace(reg, '');
    }
    if (ele.value.lastIndexOf('、') != ele.value.length -1){
        ele.value = ele.value+'、';
    }
    if (typeof str === 'string') {
        str = str.replace(reg, '');
    }

    if (flag) {
        if (str.length > 0) {
            if (ele.value.indexOf(str) == -1) {
                ele.value = ele.value.concat(str+'、');
            } else {
                let flag = undefined;
                let tempArr = ele.value.split("、");
                for (let i = 0; i < tempArr.length; i++) {
                    if (tempArr[i] == str) {
                        flag = true;
                        break;
                    }else {
                        flag = false;
                    }
                }
                if (flag == false){
                    ele.value = ele.value.concat(str+'、');
                }
            }
        }
    }
}

//遍历取消勾选复选框处理
function unSelectUncheckedHandle(deletestr,checkIdArea) {
    debugger
    let ele = document.getElementById(checkIdArea);
    let reg = /\s+/g;
    if (typeof ele.value === 'string') {
        ele.value = ele.value.replace(reg, '');
    }
    if (typeof deletestr === 'string') {
        deletestr = deletestr.replace(reg, '');
    }
    let deleteArr = ele.value.split("、");
    for (let i = 0; i < deleteArr.length; i++) {
        if (deleteArr[i] == deletestr) {
            deleteArr.splice(i,1);
            ele.value = deleteArr.join("、");
        }
    }
}

5.解释字符串处理常用方法无效

为什么没用search(),match(),lastIndexOf()??

因为这些只能查找字符串的子元素的首个位置或者下标位置,但是不容易查找第二个,或许可以搭配正则表达式,进行完全匹配是否是寻找的那个复选框内容,如果不是,可以继续,但是不能确定找到的第二个长度是多长,所以用了数组分割
简单说没有使用好正则表达式,下面是我的思路未解全....后续有空再说

dynamicStr   //为复选框所携带的字符串内容
//首个下标  
 let currentLocat  =  str.indexOf(dynamicStr)  
// 用正则表达匹配,如果是false,继续下一个
while(!RegExp("^" + 'dynamicStr' + "$").test('dynamicStr')){//false的话继续
    currentLocat = str.indexOf(dynamicStr,currentLocat+1);
    if(currentLocat >-1){
//       继续正则比对  
	}
}

生成动态正则表达式 RegExp方法

生成动态 /^dynamicStr$/

console.log( RegExp("^" + 'dynamicStr' + "$"))
//举例
console.log(RegExp("^" + 'dynamicStr' + "$").test('dynamicStr')) //true
JavaScript动态添加复选框的方法 通过以上的代码,我们就成功地动态创建了一个复选框,并将其添加到指定的容器中。你可以根据自己的需求修改代码,添加更多的复选框或者修改复选框的属性。在JavaScript中,我们可以通过动态创建HTML元素来实现动态添加复选框。最后,我们将复选框和标签添加到容器元素中,通过。我们可以通过JavaScript获取到该元素,并在其内部动态创建复选框。的HTML元素,这是我们用来容纳复选框的容器。首先,我们需要一个用来容纳复选框的HTML元素,比如一个。元素,并将其与复选框关联起来,通过设置。方法获取到一个id为。 阅读详情

相关推荐

【信息科学与工程学】计算机科学与自动化——第六十三篇 人机交互之前端交互参数知识库01

此方案可满足千万级并发需求,同时支持时序数据、知识图谱和文档数据库的高效处理,通过云原生架构实现极致弹性。​:每月约$15-20万(100节点K8s集群+数据库集群+CDN流量)1. 宠物上架/下架流程。

weixin_49199313的博客 1475

9-6 h5 总结~导航~图片浮动~盒子列表

总结 行内元素、块级元素 a/span等元素不能设置宽高 行内元素:input/a/span 块级元素:div/ul/li/ol/p/form/table display:none/block/inline/inline-block 1.盒模型 width height boder:1px solid red; margin padding border-right border-bottom ...

hfyldx的博客 272

Power BI----各类切片器的使用

首先介绍切片器的最基础的创建和效果演示,紧跟着介绍切片器在多页中的同步和本身与报表的联动,再然后介绍关于切片器属性的设置,使得交互更加美观,最后介绍几种很好看的第三方的切片器样式和自己构建的可折叠的切片器.........

Itsme_MrJJ的博客 2万+

Dev使用checkedListBoxControl

checkedListBoxControl使用list的值成复选框的值: //方式一:循环list添加  for (int i = 0; i &lt; list.Count; i++)  {            checkedListBoxControl1.Items.Add(list[i]);  } //方式二:资源绑定的方式 checkedListBoxControl1.DataSo...

望生帝的博客 3501

从Halcon到数学原理:3D点云平面拟合与距离计算的5个关键陷阱

本文深入剖析了3D点云平面拟合与点到平面距离计算中的五个关键陷阱,包括无限与有限平面的距离歧义、法向量方向随机性、拟合算法选择、点云密度不均以及实际部署中的性能衰减。文章穿透Halcon等工具的操作层面,回归数学原理与工程实践,为工业视觉和三维测量领域的高精度应用提供关键指导。

fire9的博客 449

常见卫星图源下载教程

上面列出的8个常见的亚米级别数据源都可以通过xyz协议或者wmts/wms协议进行下载。这些协议是什么?地理信息数据为了方便网络传输,制定了一系列的地理数据传输标准(wms/wmts/xyz等)。协议特点优点缺点栅格数据支持矢量数据支持WMS通过HTTP请求获取GIS数据,服务器会将数据渲染成图像高度定制的地图;交互性强服务器渲染图像,响应时间较长支持有限支持WMTS提供预渲染的地图瓦片速度快,因为地图瓦片可以预先生成并在请求时快速提供瓦片的内容是预先确定的,无法进行定制支持。

锐多宝的地理空间 1万+

CSS如何动态下拉div盒子、移动div盒子和展开div盒子

css是层叠样式表,是一种用于网页设计的语言,它可以为HTML和XML文档添加样式和布局。我们通过css可以控制文本的颜色、字体大小、字体间距等等。css是强大的工具,它可以使我们的网页更加的美观,提高用户的阅读体验!动态下拉、移动和动态移动展开。

是个非常热爱生活、乐观、奋斗、努力的逗比青年 2169

YOLOv8-seg模型后处理实战:从输出解析到mask生成的完整流程

本文详细解析了YOLOv8-seg实例分割模型的后处理完整流程,从理解output0与output1的双输出结构,到实现检测框的置信度过滤、坐标转换与NMS,再到核心的掩膜生成数学原理与矩阵乘法实现。文章深入探讨了如何将掩膜系数与原型掩膜库结合,生成像素级分割结果,并提供了掩膜上采样、边缘优化、性能提升及解决实际应用难题的实战方案。

xgboost6farmer的博客 316

[Qt 教程之Widgets模块] —— QCheckBox复选框

QCheckBox即复选框,常用作表单非互斥选择,,在“多选多”的场景中使用。

淋曦的进击手记 1万+

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

weixin_52127098的博客 4724

STM32开发 -- GPS模块开发详解

一、了解硬件 我使用的GPS模块型号为UBX-M8030 参看:UBX-M8030 系列 查看一下它的特性: 多用途 GNSS 芯片,提供三种产品等级 最多可并发接收 3 个 GNSS(GPS、伽利略、GLONASS、北斗) 行业领先的 -167 dBm 导航灵敏度 业界最低电流消耗 在城市峡谷中具有绝佳的定位精度 安全性和完整性保护 支持所有的卫星增强系统 车载级芯片的工作...

不积跬步,无以至千里 3万+

C#后台实现在Grid标签中动态新增CheckBox标签(WPF中)

27 45 checkBox.SetValue(Grid.ColumnProperty, prev);

xwnxwn的专栏 437

具身智能中的(VLA)算法与实践——第一讲 基础与概览

本文介绍了视觉-语言-动作(VLA)模型的基础概念及其在AI领域的重要性。VLA模型通过融合多模态数据实现具身智能,使AI系统能感知环境并执行物理动作。文章探讨了大型语言模型(LLMs)和视觉语言模型(VLMs)如何赋能具身智能,包括指令解析、场景理解和动作规划。同时提供了Python、PyTorch/TensorFlow开发环境的详细搭建指南,包含GPU配置建议和测试代码。VLA模型在机器人操作、导航、人机协作等领域具有广泛应用前景,是实现通用人工智能的关键技术。

u012133341的博客 1598

Js动态添加复选框Checkbox

Js动态添加复选框Checkbox的实例方法!!! 首先,使用JS动态产生Checkbox可以采用如下类似的语句: var checkBox=document.createElement("input"); checkBox.setAttribute("type","checkbox"); checkBox.setAttribute("id",'123456'); 但是,这样产生的checkbox是不带尾后的文字的,如果需要添加,那么需要使用 document.createTextNode('

Simoon 4555

[HQChart教程] 去掉“仅学习使用”文字提示的小技巧

最近用 HQChart 做图表时,发现左下角有“仅学习使用”的字样。这种水印虽然是默认的,但如果要展示给客户,可能会显得不够专业。还好,这个问题很好解决,只需要简单修改一下配置。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 597

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

YII中用jquery修改CheckBoxList的显示样式

最近做一个商城项目,在产品添加修改页面中,要显示颜色的复选框,这问题不大,但是,颜色的种类太多了,刚做出来时,显示格式为下图: 这显然看起来非常乱。现在,要想按照颜色的分组来显示,例如,有黑色系列,绿色系列的,同系列的显示在同一行,这样选择起来方便些。实现效果如下图: 在这个效果中,全选复选框也能换行显示。 要实现这样的效果,在YII框架的CheckBoxList控件中,并不好设置。

周祥平程序专栏 2066

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

动态初始化checkBox复选框及修改时赋值

上次写了动态初始化select下拉框及修改时的赋值,这几天在开发过程中需要为CheckBox复选框进行动态加载并且赋值。最后的显示效果如下: 首先是在页面上用ajax请求数据库的数据,将返回的数据拼接为html,动态渲染在页面上。 代码如下: /*初始化角色配权限复选框*/ $(function () { var roleExample = {} call

求知若饥、虚心若愚 9890

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

移动端H5各种各样的列表的制作方法(五) by FungLeo

移动端H5各种各样的列表的制作方法(五) by FungLeo前情回顾前四章的学习地址: 《移动端H5各种各样的列表的制作方法(一)》 《移动端H5各种各样的列表的制作方法(二)》 《移动端H5各种各样的列表的制作方法(三)》 《移动端H5各种各样的列表的制作方法(四)》 如果你是先看到的这篇文章,建议您先去上面的链接,把对应的内容给看一下,这样上下文连贯,更容易理解本文的内容. 在第四

FungLeo's Blog 7150

checkbox的使用(初始化、赋值、取值)

checkbox的使用(初始化、赋值、取值) jsp checkbox是通过name属性进行传值的,在初始化时需要注意name属性 初始化 <label for="ledSubtitle" class="col-xs-1 control-label" style="padding-top: 7px;margin-left: 0%;">LED字幕</label> <di...

gr_guhun的博客 5548

[ 笔记 ] HTML之动态布局 弹性盒子

最常见的布局有浮动 <div class="box"> <div class="box item" style="width: 500px; height: 500px;"> <div class="box" style="border:3px solid darkgray;width: 400px;height: 400px;"> <div class="box" style="widt.

qq_37426423的博客 462

纯CSS设置Checkbox复选框控件的样式

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34082789的博客 436

设置asp.net中的复选框列表的显示样式的方法

Asp.net 中的 CheckBoxList 控件,没有设置项(ListItem)宽度的属性,无法通过简单设置属性的方式来改变项的宽度,CheckBoxList 控件显示的大小只会跟随文本内容的长度进行调整,当文本内容长度不一致时,CheckBoxList 控件呈现的界面会出现不规则的情况,显得很不美观。 aspx页面源码: RepeatColumns="3" RepeatDirect

qinMengxing的专栏 1万+

自定义复选框CheckBox的样式

askjashdjk <!DOCTYPE html> <html> <head> <style type="text/css"> /* Customize the label (the container) */ .container { display: block; position: relative; padding-left: 35px; margin-bottom: 12px;

m0_53291740的博客 1681

checkboxlist1 css,asp.net CheckBoxList各项最小宽度CSS样式(兼容性good)

ASP.NET中,CheckBoxList里的选择都是自动宽度的,属性时没有设置各项宽度的设置。参考了一下网上的最小宽度样式,/* 最小寬度 */.min_width{min-width:300px;/* sets max-width for IE */_width:expression(document.body.clientWidth < 300 ? "300px" : "auto");...

weixin_42520573的博客 375

史上最详细的vue动态生成checkbox的选项并实现多选框的保存回显处理

按以下步骤实现多选框功能: 1.在<el-form>标配中页面增加 <el-form> <el-form-item label="设备" prop="equipment"> <template> <el-checkbox-group v-model="zz" format="changeStyle"> <el-checkbox v-for="it...

qq_38122518的博客 1万+

vue 动态生成 el-checkbox-group 遇到的v-model绑定问题记录

正如标题说的,这次遇到的问题与el-checkbox-group 有关,这次要实现的功能是要为用户分配角色,并且根据角色分配对应模块的操作权限(增、删、改、查、审等等),还有就是回显已分配用户对应模块的操作权限。好了,问题就出现在回显这!好久没有记录新内容了,主要项目时间有点赶,还有电脑太卡了~~~8小时上班时间,等电脑缓冲都要等2个多小时,还是入手一台新的吧,老朋友该退休了!代码水平就那样了 ,欢迎各位大佬指正和提供宝贵的意见,小弟在此跪谢了~~~刚开始的时候还在created。

qq_38405436的博客 3672
上一篇: idea语法忽略类型检查标红
下一篇: easyui-combobox之setText与setValue先后之分
退无可退而立版
博客等级 码龄9年 1万+粉丝 316原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值