var radio = $('[name=sex]:checked').val();ラジオボタンは、同じname属性のものが複数用意されており、その中の1つだけがchecked属性を持っています。この項目を取り出しているのが、$('[name=sex]:checked')という部分です。[name=sex]は、name属性がsexであるものを指定しています。更に:を使い、取り出す項目の条件としてchecked属性を指定しています。これで、チェックされたラジオボタンだけが取り出せます。ラジオボタンの処理を行う際の定型句として、この書き方は覚えておくとよいでしょう。
var check = $('#adult').attr('checked') ? '大人':'未成年';こちらが、チェックボックスのON/OFF状態に応じて値を変数に設定している部分です。チェックボックスのON/OFF状態は、$('#adult').attr('checked')として調べることができます。「attr」というのは属性の値に関するメソッドで、引数に指定した属性の値を取得します。これがtrueであればチェックはON、falseならばOFFと判断できるわけですね。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>Sample</title> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" /> <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script> <script type="text/javascript"> function doAction(){ var radio = $('[name=sex]:checked').val(); var check = $('#adult').attr('checked') ? '大人':'未成年'; $('#dlog_content').text('あなたは、' + check + 'の' + radio + 'ですね。'); $.mobile.changePage("#dialog", {transition: "pop"}); } </script> </head> <body> <div id="home" data-role="page"> <div data-role="header"> <h1>Hello</h1> </div> <div data-role="content"> <p>jQuery Mobileサンプル。</p> <div data-role="fieldcontain"> <input type="radio" name="sex" id="male" value="男" checked /> <label for="male">男性</label> <input type="radio" name="sex" id="fimale" value="女" /> <label for="fimale">女性</label> </div> <div data-role="fieldcontain"> <input type="checkbox" name="adult" id="adult" /> <label for="adult">成人</label> </div> <input type="button" value="Click" onclick="doAction();" /> </div> </div> <div id="dialog" data-role="dialog"> <div data-role="header"> <h1 id="dlog_title">Message</h1> </div> <div data-role="content"> <p id="dlog_content">コンテンツ。</p> </div> </div> </body> </html>
<< 前へ | 次へ >> |