考虑以下 HTML:
<select data-bind="options: assemblies, optionsText: 'Name', value: selectedAssembly">
</select>
Name <input type="text" data-bind="value: selectedAssembly().Name" />
我正在通过 jQuery AJAX 检索程序集数组:
[{"Id":1,"Name":"Foo"},
{"Id":2,"Name":"Bar"}]
selectedAssembly 是一个 observable 并且 ().Name 抛出一个异常。我需要在选择选项中更改反映运行时更改的名称属性。我试过了:
<p data-bind="with: selectedAssembly">
Name <input type="text" data-bind="value: $data.Name" />
</p>
这样我就成功地检索了 Name 属性,但是只有当用户从框中选择另一个选项而不是实时更新时,它的值更改才会更新。