0
我在我的應用程序中實現了一個頁面,用戶可以從下拉菜單中選擇一個作者,並查看該特定作者的所有書籍及其詳細信息。該數據在jsp頁面綁定情況如下:knockoutjs中的選項綁定和事件處理
<select id="author-dropdown"
data-bind="options: authors,
value: selectedAuthor,
optionsText: currentAuthorName,
event: { change: getBooksDetails }">
它工作正常,但存在與期權結合的一個大問題。當用戶更改書表中的某些內容(下拉下方)但不保存它們,然後嘗試從下拉列表中更改作者時,彈出一個模式,詢問「是否要保存更改?」
用戶有三種選擇:
- 確認保存
- 確認爲不保存
- 關閉模式。
如果用戶關閉模式什麼都不會發生,已經是作者的價值已經更改爲新的,如果用戶點擊保存在表的底部,那麼這本書的詳細信息將得到保存錯誤的作者!
我真的很困惑knockout.js選項綁定的行爲,我的問題是我怎麼能控制選項綁定在這種情況下?如果用戶關閉模式,如何獲得selectedAuthor
的先前值?
不存在未保存的更改或舊的價值觀念,除非你寫一個。請參閱http://www.knockmeout.net/2011/03/guard-your-model-accept-or-cancel-edits.html –