簡體   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