繁体   English   中英

复选框和onchange方法的用法

[英]Checkbox and onchange method usage

我有一个表,其中某些行的第一列上具有复选框,如果用户单击该行,它将调用一些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,这应该是正确的方法,因为checkbox的状态正在更改,但是不知何故不起作用……任何想法我该怎么办?

我发现了自己所缺少的东西,因为我看到几个人遇到相同的问题,所以我认为我的解决方案可能对其他人有所帮助。

我刚刚添加了“更改”触发器。

function noQuoteAllRowsOfCurrPage(){
    jQuery("input:checkbox[id^=ans_R]").each(function(i,e) {
        jQuery(e).click();
        jQuery(e).prop('checked', true).trigger('change');
    });
}

jQuery的.prop()函数不会触发change事件。 你要么可以

1-手动触发事件

jQuery(e).prop('checked', true).trigger('change');

2-使用.click()函数将检查输入并触发事件。

jQuery(e).click();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM