我有一个带有一组复选框的页面,我想在发生变化时运行一个 Javascript 函数(我对下拉菜单做了一些非常相似的事情 - 并且有效)
但是对于复选框,我遇到了三个问题:
我的
onChange
事件仅“有时”运行(您必须在不同的复选框控件之间更改焦点当它运行时,它会返回前一个复选框的结果(而不是刚刚点击的那个)
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/