2011-12-04 3 views
2

次のHTML考えてみましょう:jQuery - チェックボックスがプログラムによって変更されたときを知る方法は?

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

を少し後のチェックボックスがチェックされないのを取得:

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

ときchecked属性の変更私は(jQueryを使って)を見つけることができますどのように?上記のようにプログラムでチェックボックスをオンまたはオフにすると、.change()イベントハンドラはトリガされません。

+3

、最近のjQueryのバージョンであなたは 'オフに' .prop(偽、 '確認')を使用する必要がありますそれ。 – ThiefMaster

答えて

4

DOMイベントはプログラムでトリガされたときに発生しません(スペル?)。しかし、jQuery経由で接続されたイベントは、jQuery trigger経由でトリガされた場合に発生します。 liho1eyeが言ったよう

sample code

+1

サンプルコードは現在死んでいます – FaddishWorm

2

。このためにjqueryトリガー関数を使用することができます。

チェックこのJSFiddle.

HTML:

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

のjQuery:FYI

// 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'); 
関連する問題