selectで選択したものを表示:連想配列ちっく

  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>selectで選択したものを表示:連想配列ちっく</title>
  6. <script type="text/javascript" src="jquery-1.5.1.min.js"></script>
  7. <script type="text/javascript" src="knockout-2.1.0beta.js"></script>
  8. <script type="text/javascript">
  9.   $(document).ready(function () {
  10.     function ViewModel() {
  11.       var self = this;
  12.       // データ
  13.       self.selectData = ko.observableArray([
  14.                          { name: 'Inbox'},
  15.                          { name: 'Archive'},
  16.                          { name: 'Sent'},
  17.                          { name: 'Spam'},
  18.                         ]);
  19.       // 初期値
  20.       self.selected = ko.observable(self.selectData()[2]);
  21.       
  22.       // 選択された内容
  23.       self.selectedValue = ko.computed(function() {
  24.         var value = self.selected().name;
  25.         return value;
  26.       }, self);
  27.       
  28.     }
  29.     ko.applyBindings(new ViewModel());
  30.   });
  31. </script>
  32. </head>
  33. <body>
  34. <select data-bind="options: selectData, optionsText: 'name', value: selected"></select>
  35. <p data-bind="text: selectedValue"></p>
  36. <hr>
  37. 「selectedOptions: selected」だったら、複数選択のとき。
  38. <div style="font-size:10pt;text-align:right;margin-top:0.5em;">
  39. <a href="//tips.recatnap.info/" target="_top">PCスキルの小技・忘却防止メモ</a> -
  40. <a href="//tips.recatnap.info/wiki/" target="_top">PCスキルの小技・忘却防止メモのまとめ(wiki)</a>
  41. </div>
  42. <div style="font-size:10pt;text-align:center;margin-top:0.5em;padding:0.5em;border-top:1px solid #ccc;">
  43. Copyright &copy; 2009 by PCスキルの小技・忘却防止メモ. All rights reserved.
  44. </div>
  45. </body>
  46. </html>