2011-12-04 53 views
2

考慮下面的HTML:jQuery - 如何找出複選框以編程方式更改?

<input type="checkbox" id="checkbox" checked /> 

過了一會複選框獲取的未選中:

$('#checkbox').removeAttr('checked'); 

我如何才能找到(使用jQuery)當checked屬性發生變化? .change()事件處理程序不會觸發,當我檢查/取消複選框編程像上面一樣。

+3

據透露,最近的jQuery的版本你應該使用'.prop( '檢查',虛假)'取消選中它。 – ThiefMaster

回答

4

編程觸發(拼寫?)時,DOM事件不會觸發。然而,如果你通過jQuery trigger觸發它們,那麼通過jQuery附加的事件會發生。

sample code

+1

示例代碼現在是一個無效鏈接 – FaddishWorm

2

至於什麼liho1eye說。你可以使用jQuery的觸發器功能。

入住這JSFiddle.

HTML:

<input type="checkbox" id="checkbox" checked /> 

的jQuery:

// Remove the first checked attr 
$('#checkbox').prop('checked', false); 

// Bind checkbox to click 
$('#checkbox').bind('click', function() { // jQuery 1.7 you can use .on() 
    alert('You clicked the checkbox! Naughty boy!'); 
}); 

// execute the event for the matched elements. 
$('#checkbox').trigger('click'); 
相關問題