2017-07-26 55 views
0

https://jsfiddle.net/7ueL5taw/36/ knockout.js:編輯所選對象

https://jsfiddle.net/7ueL5taw/38/

我在<select>顯示,我可以選擇一個對象的列表,我想實現的,它的性能ab是:

  1. 在接下來的兩個<selects>
  2. 顯示可以是來自這兩個<selects>

改變我中途停留在1:

  • 我的js控制檯提供了一個錯誤TypeError: selected(...) is undefined
  • 第一個<select>正在更新時選擇其中一個條目,但不是第二個,第二個甚至沒有元素。
  • 當我改變第一個值時,選擇另一個元素,再次選擇第一個元素,'a'屬性的值是原始值,而不是我之前設置的值。

我的錯誤在哪裏?我怎樣才能做到這一點

編輯:小改解決

回答

1

您試圖未定義觀察到selected().b()在您選擇的值設置爲屬性的最後一個問題。

快速修復:selected() != null ? selected().a() : null

<select style="width: 20%" data-bind="enable: selected, options: a, optionsCaption: 'Choose...', value: selected() != null ? selected().a() : null"> 
    </select> 
    <select style="width: 20%" data-bind="enable: selected, options: b, optionsCaption: 'Choose...', value: selected() != null ? selected().b() : null"> 
    </select> 

見工作fiddle

+0

OMG,有時我只是愚蠢.... 幸運的是,在這些情況下,該修補程序是最簡單的:) THX! – HerrTeetrinken