簡體   English   中英

使用jQuery以編程方式“勾選”復選框

[英]Trigger a programmatically 'checked' checkbox with jQuery

我想觸發一個以編程方式檢查的復選框。 例如:

$(function(){
    //create a trigger that if a checkbox changes, eg is clicked/change show an alert
    $("#idCheckbox").on("change", function(){
        if($(this).is(':checked')){
            alert("Is checked!");
        }
    });

    //onload put it checked
    $("#idCheckbox").attr("checked", "checked");
});

“問題”是,如果我通過javascript檢查加載復選框,則不會觸發on()方法,並且不會顯示警報。

上面的代碼是一個例子,實際上檢查復選框的腳本不是我的 ,我無法修改它。

我正在使用jQuery 1.8.0

有什么建議嗎?

提前致謝。

您可以調用復選框上的click()來觸發先前綁定的事件,而不是將屬性設置為checked


$(function(){
    var $checkbox = $("#idCheckbox");
    $checkbox.on("change", function(){
        if(this.checked){
            alert("Is checked!");
        }
    });

    $checkbox.click();
});

例如: http //jsfiddle.net/hunter/wpLb2/

您可以將內聯定義的函數移動到全局范圍並調用它:

function checkBoxClick(){
    if($(this).is(':checked')){
        alert("Is checked!");
    }
}

$(function(){
    //create a trigger that if a checkbox changes, eg is clicked/change show an alert
    $("#idCheckbox").on("change", checkBoxClick);

    // Trigger your click function
    checkBoxClick();    

    //onload put it checked
    $("#idCheckbox").attr("checked", "checked");


});

當使用javascript以編程方式檢查復選框時,onchange事件不會自動觸發。 因此,將復選框標記為已選中的腳本應調用onchange事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM