javascript - 复选框 onchange 函数

标签 javascript asp.net-mvc dom-events

我有一个带有一组复选框的页面,我想在发生变化时运行一个 Javascript 函数(我对下拉菜单做了一些非常相似的事情 - 并且有效)

但是对于复选框,我遇到了三个问题:

  1. 我的 onChange 事件仅“有时”运行(您必须在不同的复选框控件之间更改焦点

  2. 当它运行时,它会返回前一个复选框的结果(而不是刚刚点击的那个)

  3. jQuery 总是返回值 true

复选框创建

<%= Html.CheckBox("sl-" + row.Id, value, new { onChange = "SuitabilityChecked("+row.Id+", "+key+")"})%>

Javascript

function SuitabilityChecked(providerId, parentRecordId) {
            var params = {};
            params.providerId = providerId;
            params.parentRecordId = parentRecordId;

            var value = $("#sl-" + providerId).val();               
            
            params.value = value;            
            $.getJSON("SuitabilityChecked", params, null);
        };

最佳答案

浏览器对单选按钮和复选框很有趣,可以延迟 onchange 直到焦点改变。尝试添加一个 onclick 事件来模糊或直接调用 change 事件。

也许像这样使用 jQuery Live(未经测试,超出我的想象):

$(':checkbox').live('click', function() { $(this).change(); });

关于javascript - 复选框 onchange 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2181127/

相关文章:

Javascript 循环遍历所有 HTML 选择 <option>

javascript - 下拉菜单中选定的选项会选择另一个下拉菜单中的选项

c# - 如何使用 ViewModel 将动态数据集提供给单个 View

asp.net-mvc - 带有文本和图标的操作链接?

javascript - 删除事件监听器作为 Class.prototype 函数

javascript - axios 调用不返回 promise

javascript - 如何在 Jasmine 测试中使用 templateCache 模块?

javascript - ASP.NET MVC - JQuery 日期选择器格式

javascript - React useCallback 钩子(Hook),未接收更新的依赖状态值

javascript - 重新渲染 SVG 时事件监听的问题