この質問で答えられたように、KnockoutJSカスタムバインドを介してjQueryUIダイアログを開く方法を学びました:jqueryuiダイアログをknockoutjsと統合する
ダイアログに入力テキストフィールドがある場合、ダイアログを閉じるときにそこからデータにアクセスして、テキストファイルの内容に基づいてメインビューモデルを変更するにはどうすればよいですか?一般的な考え方、さらにはハンドラーコードの場所は何ですか?
この質問で答えられたように、KnockoutJSカスタムバインドを介してjQueryUIダイアログを開く方法を学びました:jqueryuiダイアログをknockoutjsと統合する
ダイアログに入力テキストフィールドがある場合、ダイアログを閉じるときにそこからデータにアクセスして、テキストファイルの内容に基づいてメインビューモデルを変更するにはどうすればよいですか?一般的な考え方、さらにはハンドラーコードの場所は何ですか?
両方のフィールドを同じノックアウトjsにバインドできるようにするだけです。そうすれば、それらは常に同じ値になります。
<a href="#popupLogin" class="site_title" data-position-to="window" data-rel="popup" data-bind="text:Title">
<div data-role="popup" id="popupLogin" data-theme="a" class="ui-corner-all">
<input type="text" data-bind="value:Title" />
</div>
モーダルのテキストを変更し、何らかの方法でクリックまたは閉じると、他の入力の値も変更されていることがわかります。
これは非常に簡単です。div
値をバインドしてダイアログに入力するだけです。バインディングからの入力をキャプチャするのと同じです。これが、入力バインディングを使用したその回答のフィドルです。
<div id="dialog" data-bind="dialog: {autoOpen: false, title: 'Dialog test' }, dialogVisible: isOpen">foo dialog
<input data-bind="value: dialogEntry" />
</div>