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

ASP.NET Razor页面:复选框事件处理器无法触发

解决CheckBoxFor onChange事件不触发的问题

我一眼就发现问题所在了——你在onchange属性里的函数调用缺少了括号!浏览器看到onchange = "checkedChanged"时,只是把函数本身赋值给了事件,而没有触发执行它。

修正后的代码

<td> 
    @Html.CheckBoxFor(m => m.checkLangs[0].isChecked, new { onchange = "checkedChanged()" }) 
    <script> 
        var checkedChanged = function () { 
            alert("checkedChanged"); 
        } 
    </script> 
</td>

额外排查点(如果加括号后仍无反应)

  • 确认脚本代码在复选框元素之后加载,或者把函数包裹在DOMContentLoaded事件中,避免DOM元素还未渲染就绑定事件
  • 检查页面是否存在同名函数,避免命名冲突覆盖了你的事件函数
  • 打开浏览器开发者工具(F12)的控制台,查看是否有"函数未定义"这类报错信息

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 15:32:34