knockout.js:编辑所选对象

时间:2017-07-26 12:55:50

标签: knockout.js

<击> https://jsfiddle.net/7ueL5taw/36/

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

我有<select>中显示的对象列表,我可以选择一个,我想要实现,它的属性ab是:

  1. 显示在接下来的两个<selects>
  2. 可以从这两个<selects>
  3. 更改

    我被困在1:

    • 我的js控制台发出错误TypeError: selected(...) is undefined
    • 选择其中一个条目时,第一个<select>正在更新,但是 不是第二个,第二个甚至没有元素。
    • 当我更改第一个的值时,选择另一个元素,再次选择第一个元素,'a'属性的值是原始值,而不是我之前设置的值。 < / LI>

    我的错误在哪里?我怎样才能实现这个目标

    编辑:小改变解决了最后一个问题

1 个答案:

答案 0 :(得分:2)

您正在尝试将select的值设置为未定义的可观察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