2012-04-24 6 views
1

1つのviewModelのプロパティを2つのhtml要素でバインドしたいが、機能しない。これは、モデルのプロパティを最初の要素にのみバインドしています。これを行う理由は、同じデータ(フォームの編集と読み込みの両方のビュー)を持つフォームを表示したいということです。 この問題を解決するためのより良いアプローチがある場合は、(フォームの編集/読み取り専用のビューを簡単に提供する)ことをお勧めします。Knockoutjs:同じviewModelのプロパティで複数のhtml要素をバインドする

以下は私が今やりたいことです。

<span data-bind="text: name"/> 
<input data-bind="value: name" /> 

答えて

4

spanが閉じていないという問題があります。 spanvoid elementsのいずれでもないため、<span/>は使用できません。 (自己閉じタグは、<br/><input/>のようなものを含むことができない要素に対してのみ使用され、は許可されていますが、/がXHTMLのために必要です。 HTML [それは意味がありません])spanは閉じていると、ブラウザーは、spanの内容を推測する必要があります。 KOがスパンの内容を設定すると、ブラウザはスパンの内側にあると思われるすべてのものを消去します。

あなたは正しくspanを閉じた場合、それは動作します:

<span data-bind="text: name"></span> 
<input data-bind="value: name" /> 

Live example | source

関連する問題