いくつかの奇妙な要件と、アプリケーションでの jQuery の実装方法により、チェックボックスの onclick イベントを介して jQuery 関数を呼び出す必要があります。
以下は、div ID を介してトリガーされる関数の完全に適切な実装です。ただし、この同じコードは私のアプリケーションでは機能しません。
私のアプリケーションでは、jQuery バージョン 1.7.1 を使用しています。エラーは発生していません。関数は単にトリガーされません。Chromeを使用してデバッグしています。onclick で呼び出そうとすると、応答しますが、スローバックしundefined
ます。
HTML
<div id="dialog-confirm" title="Select Options">
<!--I need to call function in onclick event for checkbox below-->
<input type="checkbox" id="chkall" /> Check/Uncheck
<br /><br />
<input type="checkbox" />Option 1<br />
<input type="checkbox" />Option 2<br />
<input type="checkbox" />Option 3<br />
<input type="checkbox" />Option 4<br />
<input type="checkbox" />Option 5<br />
<input type="checkbox" />Option 6<br />
<input type="checkbox" />Option 7
</div>
JS
$(function() {
$( "#dialog-confirm" ).dialog({
resizable: false,
height:350,
modal: true,
buttons: {
"Go": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
});
$(document).ready(function(){
$('#chkall').click(function() {
// this is the function I need to call
var opt = $(this).parent().find('input[type=checkbox]');
opt.prop('checked', $(this).is(':checked') ? true : false);
});
});
最後に、フィドルリンク