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
相关产品推荐
相关产品推荐

