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

  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>selectで選択したものを表示:連想配列ちっく2</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',  price: 350},
  15.                          { name: 'Archive',  price: 490},
  16.                          { name: 'Sent',  price: 670},
  17.                          { name: 'Spam',  price: 280},
  18.                         ]);
  19.       // 初期値
  20.       self.selected = ko.observable(self.selectData()[2]);
  21.       
  22.       // 選択された内容
  23.       self.selectedValue = ko.computed(function() {
  24.         var value = self.selected();
  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: 'name: ' + selectedValue().name"></p>
  36. <p data-bind="text: 'price: ' + selectedValue().price"></p>
  37. <div style="font-size:10pt;text-align:right;margin-top:0.5em;">
  38. <a href="http://tips.recatnap.info/" target="_top">PCスキルの小技・忘却防止メモ</a> -
  39. <a href="http://tips.recatnap.info/wiki/" target="_top">PCスキルの小技・忘却防止メモのまとめ(wiki)</a>
  40. </div>
  41. <div style="font-size:10pt;text-align:center;margin-top:0.5em;padding:0.5em;border-top:1px solid #ccc;">
  42. Copyright &copy; 2009 by PCスキルの小技・忘却防止メモ. All rights reserved.
  43. </div>
  44. </body>
  45. </html>