You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor技术问题:如何通过点击事件获取动态生成复选框的ID?

如何通过点击动态生成的复选框获取其ID?

当然可以,先提个小问题:你当前代码里<label>的for属性值是flexCheckDefault,和复选框的动态ID不匹配,点击标签不会触发复选框状态变化,建议把label的for改成和input一致的动态值:

<label class="form-check-label" for="@(calendar[counter - 1].ToShortDateString())">
    Add to report
</label>

下面给你几种实现点击获取ID的方法:

  • 直接绑定点击事件
    在生成复选框时直接添加onclick属性,把当前元素传进函数:
<input class="form-check-input" type="checkbox" id="@(calendar[counter - 1].ToShortDateString())" onclick="handleCheckboxClick(this)">

然后写对应的JS函数:

function handleCheckboxClick(checkbox) {
    const id = checkbox.id;
    console.log('点击的复选框ID:', id);
    // 这里可以根据需求对ID做后续处理
}
  • 事件委托(推荐用于动态生成元素)
    如果这些复选框是页面加载后动态生成的,用事件委托更可靠,把点击事件绑定到父容器或者document上:
// 绑定到document,也可以换成复选框的父级容器(比如所有form-check的父div)
document.addEventListener('click', function(e) {
    // 判断点击目标是我们要的复选框
    if (e.target.classList.contains('form-check-input') && e.target.type === 'checkbox') {
        const id = e.target.id;
        console.log('点击的复选框ID:', id);
        // 处理逻辑写在这里
    }
});
  • jQuery方式(如果你用了jQuery)
$(document).on('click', '.form-check-input[type="checkbox"]', function() {
    const id = $(this).attr('id');
    console.log('点击的复选框ID:', id);
});

内容的提问来源于stack exchange,提问作者az0009990

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 06:35:48