var sels = $('#sel1 option:selected')……'#sel1 option:selected'というのは、"sel1"というIDの項目内に組み込まれている<option>タグで、selected属性がtrueであるものすべてを指定するためのものです。これで、複数の項目が選択されていたとしても、それらすべてをとり出し処理することができます。
…….each(これ、何をやっているのかわかるでしょうか。eachというメソッドを呼び出しているのですが、その引数に関数を渡しているのです。つまり、こういうことですね。
function(){ value += $(this).val() + "・"; });
$(○○).each(function(){……});これで、$(○○)で取り出されたそれぞれの項目に対し、eachの引数に指定した関数が実行されます。eachで取り出されたオブジェクトは、$(this)で得ることができます。ここでは、value += $(this).val() + "・";という文を実行していますが、これで<option>のvalueの値を変数valueに追加していたのです。
※リストが表示されない場合
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 value = ""; var sels = $('#sel1 option:selected').each( function(){ value += $(this).val() + "・"; }); $('#dlog_content').text('あなたは、' + value + 'ユーザーですね。'); $.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="fieldcontain"> <label for="sel1">select</label> <select id="sel1" name="sel1" data-native-menu="false" multiple> <option value="Windows">Windows</option> <option value="Mac OS X">Mac OS X</option> <option value="Linux">Linux</option> <option value="TRON">TRON</option> </select> </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>
<< 前へ | 次へ >> |