miniui <div type="checkcolumn"></div>的事件

本文介绍了一个基于nui框架的网格数据选择更新功能的实现方法。当用户从表格中选择一行或多行记录时,该功能能够根据所选行数禁用或启用更新按钮。此外,还展示了如何配置一个具有多种特性的数据表格,如多选功能、自定义列显示等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function selectionChanged(){
       var rows = grid.getSelecteds();
       if(rows.length>1){
           nui.get("update").disable();
           
       }else{
           nui.get("update").enable();
           
       }
    }

  <div class="nui-fit">
	 <div id="datagrid1" class="nui-datagrid" style="width:100%;height:100%;" idField="id"
	  url="<%=contextPath%>/jxjc/qc/query.do"
	  sizeList=[5,10,20,50,100] multiSelect="true" pageSize="10" onselectionchanged="selectionChanged">
	    <div property="columns" >
	      <div type="indexcolumn"></div>
	      <div type="checkcolumn"></div>
	      <div field="xn" headerAlign="center">学年</div>
	      <div field="xq" headerAlign="center">学期</div>
	      <div field="jsxm" headerAlign="center">教师姓名</div>
	      <div field="jcr" headerAlign="center">检查人</div>
	      <div field="jcrq" headerAlign="center">检查日期</div>
	    </div>
	 </div>
  </div>


你当前的结构是: ```html <div class="form-row"> <div class="form-group"> <label style="width:400px;">Change area: Manufacturing Instruction (M.I.) #</label> <div class="checkbox-group"> <input type="checkbox" /> YES <input type="checkbox" /> NO </div> </div> <div class="form-group"> <label style="width: 10px;">Tooling#:</label> <div class="checkbox-group"> <label><input type="checkbox" /> YES</label> <label><input type="checkbox" /> NO</label> </div> </div> </div> ``` --- ## ❓ 问题分析:**label 和选择框之间间距为什么那么大?** 这个问题的核心在于: ### 1. `.form-group` 是一个块级容器(默认 `display: block`) - 每个 `.form-group` 是一个独立的块级元素,会独占一行。 - 你把两个 `.form-group` 放在了 `.form-row` 里,但 `.form-row` 没有设置 `display: flex`,所以它们是垂直排列的。 ### 2. 第一个 `<label>` 设置了 `width: 400px;` - 这会导致它占据非常宽的空间,后面的 `.checkbox-group` 被挤到下一行。 ### 3. 第二个 `<label>` 设置了 `width: 10px;` - 宽度太小,导致文字可能被压缩或换行,影响布局美观。 --- ## ✅ 解决方案:使用 Flexbox 布局控制间距 ### ✅ 正确做法: 1. 给 `.form-row` 设置 `display: flex;` 2. 控制 `.form-group` 的宽度或使用 `flex: 1;` 来均分空间 3. 控制 `.form-group` 内部元素(label 和 checkbox-group)的间距 --- ## ✅ 修改后的 CSS 示例: ```css .form-row { display: flex; gap: 20px; /* 控制两个 .form-group 之间的间距 */ margin-bottom: 15px; } .form-group { display: flex; flex-direction: column; flex: 1; /* 让两个 .form-group 均分宽度 */ } .form-group label { font-weight: bold; margin-bottom: 5px; } .checkbox-group { display: flex; gap: 10px; /* 控制复选框之间的间距 */ align-items: center; } .checkbox-group label { display: flex; align-items: center; gap: 5px; } ``` --- ## ✅ 修改后的 HTML(优化结构): ```html <div class="form-row"> <div class="form-group"> <label>Change area: Manufacturing Instruction (M.I.) #</label> <div class="checkbox-group"> <label><input type="checkbox" /> YES</label> <label><input type="checkbox" /> NO</label> </div> </div> <div class="form-group"> <label>Tooling #</label> <div class="checkbox-group"> <label><input type="checkbox" /> YES</label> <label><input type="checkbox" /> NO</label> </div> </div> </div> ``` --- ## ✅ 效果说明 | 元素 | 说明 | |------|------| | `.form-row { display: flex; }` | 让两个 `.form-group` 并排显示 | | `gap: 20px;` | 控制两个表单组之间的间距 | | `.form-group { flex: 1; }` | 让两个表单组均分宽度 | | `.checkbox-group { display: flex; gap: 10px; }` | 控制复选框之间的间距 | | `.checkbox-group label` | 保证复选框和文字在一行,且对齐 | --- ## ✅ 可选响应式处理 ```css @media (max-width: 768px) { .form-row { flex-direction: column; } } ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值