<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=Knockout.js%2Fvalue%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0</id>
	<title>Knockout.js/valueバインディング - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=Knockout.js%2Fvalue%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0"/>
	<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=Knockout.js/value%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0&amp;action=history"/>
	<updated>2026-06-05T14:51:55Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://monobook.org/w/index.php?title=Knockout.js/value%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=1594&amp;oldid=prev</id>
		<title>imported&gt;Administrator: Knockout.js/valueをKnockout.js/valueバインディングへ移動</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=Knockout.js/value%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=1594&amp;oldid=prev"/>
		<updated>2012-04-20T09:24:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;/wiki/Knockout.js/value&quot; class=&quot;mw-redirect&quot; title=&quot;Knockout.js/value&quot;&gt;Knockout.js/value&lt;/a&gt;を&lt;a href=&quot;/wiki/Knockout.js/value%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0&quot; title=&quot;Knockout.js/valueバインディング&quot;&gt;Knockout.js/valueバインディング&lt;/a&gt;へ移動&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2012年4月20日 (金) 09:24時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>imported&gt;Administrator</name></author>
	</entry>
	<entry>
		<id>https://monobook.org/w/index.php?title=Knockout.js/value%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=1593&amp;oldid=prev</id>
		<title>imported&gt;Administrator: ページの作成：「Knockout.jsの&#039;&#039;&#039;valueバインディング&#039;&#039;&#039;とは、パラメーターの値（ビューモデル内のプロパティ名）と、DOM要素のvalueプロパ...」</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=Knockout.js/value%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0&amp;diff=1593&amp;oldid=prev"/>
		<updated>2012-04-20T08:09:05Z</updated>

		<summary type="html">&lt;p&gt;ページの作成：「&lt;a href=&quot;/wiki/Knockout.js&quot; title=&quot;Knockout.js&quot;&gt;Knockout.js&lt;/a&gt;の&amp;#039;&amp;#039;&amp;#039;valueバインディング&amp;#039;&amp;#039;&amp;#039;とは、パラメーターの値（ビューモデル内のプロパティ名）と、&lt;a href=&quot;/wiki/DOM&quot; class=&quot;mw-redirect&quot; title=&quot;DOM&quot;&gt;DOM&lt;/a&gt;要素のvalueプロパ...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Knockout.js]]の&amp;#039;&amp;#039;&amp;#039;valueバインディング&amp;#039;&amp;#039;&amp;#039;とは、パラメーターの値（ビューモデル内のプロパティ名）と、[[DOM]]要素のvalueプロパティをリンクする[[Knockout.js/操作バインディング|操作バインディング]]のひとつである。&lt;br /&gt;
&lt;br /&gt;
== 注意 ==&lt;br /&gt;
主に[[HTML]]のselectタグやinputタグのvalueプロパティをビューモデルの値と同期するのに用いる。&lt;br /&gt;
&lt;br /&gt;
なお、selectタグにmultipleプロパティが設定されている場合は、valueバインディングではなく、[[Knockout.js/selectedOptionsバインディング|selectedOptionsバインディング]]と[[Knockout.js/observableArrayオブジェクト|observableArrayオブジェクト]]を用いること。&lt;br /&gt;
&lt;br /&gt;
また、チェックボックスまたはラジオボタンを使用している場合は、valueバインディングではなく、[[Knockout.js/checkedバインディング|checkedバインディング]]を用いること。&lt;br /&gt;
&lt;br /&gt;
== パラメーター ==&lt;br /&gt;
valueバインディングの基本的な書式は以下のとおりである。&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;text&amp;quot; data-bind=&amp;quot;value: ビューモデルのプロパティ名&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
パラメーター（ビューモデル内のプロパティ）とDOM要素とリンクし、パラメーターが[[Knockout.js/observableオブジェクト|observableオブジェクト]]の場合は、以後[[ビューモデル]]の[[プロパティ]]を更新すれば、ビュー（[[HTML]]）の値も更新され、同様にビュー（HTML）の値が変更されると、ビューモデルのプロパティの値も更新されるようになる。&lt;br /&gt;
&lt;br /&gt;
パラメーターが[[Knockout.js/observableオブジェクト|observableオブジェクト]]でない場合はバインディング適用時（[[Knockout/applyBindings関数|applyBindings関数]]実行時）に1回だけ更新されて以降は更新されない。&lt;br /&gt;
&lt;br /&gt;
=== 追加パラメーター ===&lt;br /&gt;
==== valueUpdate ====&lt;br /&gt;
valueUpdateパラメーターを設定することで、knockout.jsがイベントを検出するタイミング（ビューの更新を検出するタイミング）を設定することができる。デフォルトではchange（フォーカスが他のコントロールに移ったとき）となっている。&lt;br /&gt;
&lt;br /&gt;
* change - valueUpdateパラメーターを設定しないときのデフォルト値。valueバインディングが設定されているコントロールから別のコントロールへフォーカスが移ったタイミングで更新する。なおselect要素の場合は選択完了ですぐに更新する。&lt;br /&gt;
* keyup - キーが離されたタイミングで更新する。&lt;br /&gt;
* keypress - キーが押されたタイミングで更新する。ブラウザごとに挙動が違うのでおすすめできない。&lt;br /&gt;
* afterkeydown - キーが押された直後に更新する。&lt;br /&gt;
&lt;br /&gt;
基本的には「afterkeydown」→「keypress」→「keyup」の順序でイベントが発生する。ビューの変更をリアルタイムにビューモデルへ反映したい場合には「afterkeydown」がマジオススメ。&lt;br /&gt;
&lt;br /&gt;
== 使用例 ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;ja&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;knockout.js - valueバインディング 001&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;jquery-1.5.1.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot; src=&amp;quot;knockout-2.0.0.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
    jQuery(function() {&lt;br /&gt;
      // ビューモデル&lt;br /&gt;
      var AppViewModel = function() {&lt;br /&gt;
        this.people = ko.observableArray([ &lt;br /&gt;
          { name: &amp;#039;Aさん&amp;#039;, age: 18 }, &lt;br /&gt;
          { name: &amp;#039;Bさん&amp;#039;, age: 28 }, &lt;br /&gt;
          { name: &amp;#039;Cさん&amp;#039;, age: 38 }&lt;br /&gt;
        ]);&lt;br /&gt;
&lt;br /&gt;
        this.selectPeople = ko.observable(this.people()[1]);&lt;br /&gt;
&lt;br /&gt;
        this.selectPeopleAge = ko.computed(function() {&lt;br /&gt;
          // 生年月日から計算して年齢を出力するとかにすると良いかも&lt;br /&gt;
          var p = this.selectPeople();&lt;br /&gt;
          return p.age;&lt;br /&gt;
        }, this);&lt;br /&gt;
      };&lt;br /&gt;
      // バインディング適用&lt;br /&gt;
      ko.applyBindings(new AppViewModel());&lt;br /&gt;
    });&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;select data-bind=&amp;quot;options: people, optionsText: &amp;#039;name&amp;#039;, value: selectPeople&amp;quot;&amp;gt;&amp;lt;/select&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;div data-bind=&amp;quot;text: selectPeople().name&amp;quot; &amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;div data-bind=&amp;quot;text: selectPeopleAge&amp;quot; &amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 関連項目 ==&lt;br /&gt;
* [[Knockout.js]]&lt;br /&gt;
** [[Knockout.js/可視バインディング|可視バインディング]]&lt;br /&gt;
** [[Knockout.js/制御フローバインディング|制御フローバインディング]]&lt;br /&gt;
** [[Knockout.js/操作バインディング|操作バインディング]]&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
== 外部リンク ==&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;/div&gt;</summary>
		<author><name>imported&gt;Administrator</name></author>
	</entry>
</feed>