2017-07-26 57 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