我有一个表,其中一些行在第一列上有复选框,如果用户单击,它会调用一些 javascript 方法来禁用相应行的其他字段。
这些输入的结构是这样的:
<input type="checkbox" name="ans_R2057321_Q2060122" id="ans_R2057321_Q2060122" value="2002241" onclick="matrix.disableFields(this, 'R2057321');recalculateRowFormulas('2057321'); alignTDs();" />
我实现了一个链接,当用户单击它时,它必须选择所有这些复选框,所以我这样做了:
function noQuoteAllRowsOfCurrPage(){
jQuery("input:checkbox[id^=ans_R]").each(function(i,e) {
jQuery(e).prop('checked', true);
});
}
这只是迭代屏幕上 id 以 ans_R 开头的每个复选框,然后检查 CB 状态为 true。它确实有效,但问题是在输入复选框的 onclick 属性上调用的 javascript 函数没有运行。我做的第一件事是从 onclick 更改为 onchange,这应该是正确的方法,因为复选框的状态正在改变,但不知何故它不起作用......任何想法我能做什么? p>
最佳答案
JQuery 的 .prop()
函数不会触发更改事件。您可以
1 - 手动触发事件
jQuery(e).prop('checked', true).trigger('change');
2 - 使用 .click()
函数检查输入并触发事件..
jQuery(e).click();
关于javascript - Checkbox和onchange方法使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26026734/