c# - 如何限制用户选中/取消选中 CheckBoxList 中的其他复选框,直到上一次单击的 SelectedIndexChanged 未完成
问题描述
我有一个动态创建的CheckBoxList 。当用户选中/取消选中任何复选框时,将为该特定复选框运行“ OnSelectedIndexChanged ”事件。这个事件有点冗长,涉及数据库访问和对全局十进制变量进行某些计算。在此事件未完成之前,我不希望用户选中/取消选中此CheckBoxList中的任何其他复选框,因为这会影响计算。如何限制用户这样做?如何在事件未完成之前禁用整个CheckboxList ?请注意,根据某些情况,列表中的某些复选框可能已经被禁用。
解决方案
我通过添加客户端onclick脚本成功地做到了,如下`
<div id="myCBL" style="width: 90%; display: inline-block;">
<asp:CheckBoxList ID="Payees" runat="server" AutoPostBack="True" OnSelectedIndexChanged="LstPayees_SelectedIndexChanged" RepeatLayout="Flow" CssClass="ListBoxinline" onclick="WaitForEvent()">
</asp:CheckBoxList> </div>
添加的脚本如下:
function WaitForEvent() {
var nodes = document.getElementById("myCBL").getElementsByTagName('*');
for (var i = 0; i < nodes.length; i++) {
nodes[i].disabled = true;
}
在 OnSelectedIndexChanged 方法完成后,复选框本身会被启用。
推荐阅读
- validation - Nintex 选择控制规则
- vba - 如果 D1>O1 则隐藏行
- javascript - 与 webpack 反应,“bootstrap.bundle.js 无法读取未定义的属性 'setAttribute'”-popper
- angular - 如何为 FormGroup 创建自定义验证器
- javascript - 参数 'fooController' 不是函数,未定义
- c++ - 从头文件自动链接静态库
- c++ - 在 C++ 11 中初始化二维数组有什么好的方法吗?
- java - 为什么给定的许多读者和作家会出现僵局
- angular - 角度应用程序似乎正在将任何 .net 核心 api 请求重定向到站点根目录
- sql - SQL Server 2014 中的 WITH 子句