javascript - knockout 计算参数未更新

标签 javascript jquery knockout.js

在 MVC 应用程序中,我从数据库生成多个下拉列表:

<select data-bind="options: findGroup(1).items(),
                        optionsText: 'country',
                        optionsValue: 'id',
                        value: selectedItem(1),
                        event: { change: selectionChange }"></select>

我需要在代码中选择当前的值,但为了调试目的,我使用跨度:

<span data-bind="text: 'Computed Selected Country: ' + selectedItem(1).country"></span><br />

findgroup(x) 和 selectedItem(x) 是我的 ViewModel 中的全局函数,而这些函数对于所有下拉菜单都是相同的。

selectedItem(x) 应返回下拉列表中当前选定的选项。 selectedItem(x) 是一个返回计算出的 knockout 可观察值的函数。 selectedItem(x) 总是返回“未定义”,无法弄清楚为什么......

完整示例:http://jsfiddle.net/LGveR/17/

TIA, 保罗

最佳答案

您的函数返回一个计算值,因此需要像这样执行:

http://jsfiddle.net/LGveR/18/

this.selectedItem(1)().country

关于javascript - knockout 计算参数未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24488382/

相关文章:

Javascript定位隐藏字段

javascript - 可 knockout 排序 - 消除元素

javascript - 如何使用knockout js引用当前元素?

asp.net-mvc - 强制 ko.mapping 创建具有映射属性的空数组

javascript - 在 JQuery 中是否可以跳过可选参数并传递下一个参数?

javascript - jQuery 对图像的 HitTest

javascript - 无论括号的数量如何,都可以通过括号表示法访问对象属性

javascript - 使用 jsPDF 或其他库将 ng-grid 转换为 PDF?

4 个方向的 jQuery 全屏幻灯片

javascript - 使用 jquery 箭头键导航到照片页面