1

この質問で答えられたように、KnockoutJSカスタムバインドを介してjQueryUIダイアログを開く方法を学びました:jqueryuiダイアログをknockoutjsと統合する

ダイアログに入力テキストフィールドがある場合、ダイアログを閉じるときにそこからデータにアクセスして、テキストファイルの内容に基づいてメインビューモデルを変更するにはどうすればよいですか?一般的な考え方、さらにはハンドラーコードの場所は何ですか?

4

2 に答える 2

0

両方のフィールドを同じノックアウト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>

モーダルのテキストを変更し、何らかの方法でクリックまたは閉じると、他の入力の値も変更されていることがわかります。

于 2012-08-11T00:56:27.727 に答える
0

これは非常に簡単です。div値をバインドしてダイアログに入力するだけです。バインディングからの入力をキャプチャするのと同じです。これが、入力バインディングを使用したその回答のフィドルです。

<div id="dialog" data-bind="dialog: {autoOpen: false, title: 'Dialog test' }, dialogVisible: isOpen">foo dialog
    <input data-bind="value: dialogEntry" />
</div>
于 2012-07-29T22:28:17.617 に答える