jQuery('#check').click(function(){ alert(jQuery('#check').attr('checked')); });
とすると、そのチェックボックスをクリックするたびに
「checked」「undefined」が交互に返ってきます。
ですが、jQuery mobile のAPIリファレンスにあるように、
スクリプトで初期状態でチェックを入れちゃうと…
jQuery('#check').attr('checked',true).checkboxradio('refresh'); jQuery('#check').click(function(){ alert(jQuery('#check').attr('checked')); });
このような記述をすると、クリックしても毎回「checked」が
返ってくるようになってしまいます。
見た目のオンオフはちゃんと切り替わってるのですけどね。
なお、jQuery 1.9.1 , jQuery mobile 1.3.2 です。
なんだかバグくさい挙動なんですが、これ仕様なんですかね?
jQuery('#check').attr('checked',true).checkboxradio('refresh'); jQuery('#check').click(function(){ alert(jQuery('#check').next().find(":eq(0) :eq(1)").hasClass("ui-icon-checkbox-on")); });
しょうがないので、このように、jQuery mobile が構成しているアイコンがON用かどうかで
判断するようにしたら、しっかり「true」「false」が返ってくるようになりました。
バッドノウハウな感じで嫌ですね。
公式APIリファレンスさん、正しいチェック状態の取得方法を書いててくださいよ~。
0 件のコメント:
コメントを投稿