以下のようにしてtrue
かfalse
でチェック状態を取得したい。
$('#checkbox').val();
$.valHooks[type].get
を設定すればよさそう。
https://github.com/jquery/jquery/blob/2.0.0b2/src/attributes.js#L171
そういうわけで、jQueryを読み込んだ後のソース中のどこかに以下のパッチを置けばおk。
$.valHooks.checkbox || $.valHooks.checkbox = {};
$.valHooks.checkbox.get = function(elem) {
return $(elem).is(':checked');
};
ただ、jQuery本体でもそれっぽい動きをさせようとしている部分があったり(なんか動かん)。
https://github.com/jquery/jquery/blob/2.0.0b2/src/attributes.js#L466
追記:
単純にこれでいいのかも。
$.valHooks.checkbox.get = function(elem) { return !!elem.checked; };
$.valHooks.checkbox.set = function(elem, value) { elem.checked = !!value; };