[英]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();
});
您可以將內聯定義的函數移動到全局范圍並調用它:
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.