我已經學會了如何可以打開通過KnockoutJS定製bindigns jQuery UI的對話框在這個問題回答說:integrating jquery ui dialog with knockoutjsRecieving數據通過knockoutJS調用
如果我的對話框中有一個輸入文本字段,我怎麼能訪問數據從對話框關閉時根據文本字段內容改變主視圖模型?什麼是一般的想法,甚至處理程序代碼的地方?
我已經學會了如何可以打開通過KnockoutJS定製bindigns jQuery UI的對話框在這個問題回答說:integrating jquery ui dialog with knockoutjsRecieving數據通過knockoutJS調用
如果我的對話框中有一個輸入文本字段,我怎麼能訪問數據從對話框關閉時根據文本字段內容改變主視圖模型?什麼是一般的想法,甚至處理程序代碼的地方?
這很簡單。只需在對話框div
中輸入一個具有值綁定的輸入即可。與從任何綁定捕獲輸入相同。這是來自該答案的the fiddle與輸入綁定。
<div id="dialog" data-bind="dialog: {autoOpen: false, title: 'Dialog test' }, dialogVisible: isOpen">foo dialog
<input data-bind="value: dialogEntry" />
</div>
只是讓兩個字段綁定到相同的基因敲除js observable。然後他們將始終是相同的價值觀。
<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>
當您更改模態文本,然後單擊離開或以某種方式,你會看到,在其他輸入值將發生變化,以及關閉它。
謝謝!如果我需要在對話框關閉時在viewModel上執行一個函數呢?我是否通過對話關閉回調來做到這一點? – 2012-07-29 22:52:23
您可以將訂閱者添加到您的'isOpen' observable,它位於此頁面的最底部:http://knockoutjs.com/documentation/observables.html – Tyrsius 2012-07-30 00:42:41