下拉列表未从计算的可观察项更新
dropdown not updated from computed observable
我有以下计算的可观测值:
self.getMovieDates = ko.computed(function() {
$.ajax({
url: '/Utilities/UpdateTimesDropdown',
data: { apiId: self.movieSelectedValue(), locationId: self.theatreSelectedValue() },
dataType: 'jsonp',
success: function (data) {
console.log(data.showtimes);
return data.showtimes;
}
});
}, self);
html看起来像这样:
<select id="DateDD" data-bind="options: getMovieDates,
optionsText: 'title',
optionsValue: 'id',
optionsCaption: 'Select Showdate',
value: dateSelected"></select>
我可以在firebug中看到ajax请求正在发出,我收到了一些值。"console.log(data.showtimes)"看起来像这样:
[Object { id="3/24/2015", title="Today (Tue, Mar 24, 2015)"}, Object { id="3/25/2015", title="Tomorrow (Wed, Mar 25, 2015)"}, Object { id="3/26/2015", title="Thu, Mar 26, 2015"}]
不幸的是,下拉列表没有被填充,我的想法越来越少,有什么想法吗?
成功函数将数据返回给调用它的jquery内部,而不是传递给计算的外部函数。
你必须做一个可观察的,然后把它设置在你的成功函数中。然后使用视图模型中的可观察对象,而不是计算对象。
编辑:您自己的有用链接:https://github.com/knockout/knockout/wiki/Asynchronous-Dependent-Observables:)
相关文章:
- 下拉列表未从计算的可观察项更新
- 可观察元素数组未更新
- 如何在 Knockout.js 中更新可观察数组后立即使用 DOM 容器
- 更新挖空中可观察数组中项目的属性
- 挖空映射:加载数据后,父模型中的计算可观察量不会更新
- 对可观察数组foreach的更新删除了格式化knockoutjs
- 当通过Ajax成功回调更新可观察数组时,启用绑定中断
- 自定义指令中的ng类不观察更新
- 剔除不更新辅助表的可观察数组
- 正在更新Knockoutjs可观察数组项
- 敲除可观察数组并没有更新从数组中移除元素的视图
- 在小间隔内通过javascript更新css时,会出现断断续续的动态观察动画
- 无限循环当观察父对象时,观察者不更新任何值
- 剑道可观察在触发更改事件后不更新
- 正在更新挖空.js可观察数组元素值
- 当可观察数组是其他模型的属性时,挖空不会更新 UI
- 自定义绑定到可观察数组,不调用更新函数
- KnockoutJs 更新视图模型可从 Json Web 服务中观察到
- 使用 ko.mapping.fromJS 更新异步 ajax 调用后可观察的淘汰表
- 挖空文本输入修改可观察不更新文本