【问题标题】:knockout.js update optionstext after getting data from ajax call从 ajax 调用获取数据后,knockout.js 更新 optionstext
【发布时间】:2013-09-26 20:49:42
【问题描述】:

我正在寻找一种方法来在收到来自 ajax 调用的数据后更新选择元素的 optionsText。

我有一个我认为是一个相当标准的选择元素视图设置,它具有多个关联的字段和复选框。

在执行 ajax 调用以获取数据之前,我使用 optionsText 属性设置“正在加载数据...”选项,一旦数据调用完成,我想删除 optionsText 并将选择选项设置为第一个列表中的“真实”一个,也就是我的数据调用返回的数组中的第一个元素。

如果不删除 optionsText,我至少想将其更改为“Pick a foobar”,以便用户知道数据调用已完成。

有人有什么想法吗?谢谢!

【问题讨论】:

    标签: javascript ajax data-binding knockout.js


    【解决方案1】:

    您只需像这里所做的那样更改选项模型的值

    var vm=function(){
        var self=this;
        self.selected=ko.observable();
        self.options=ko.observable([{txt:'Loading',val:-1}]);
        self.status=ko.observable('Loading');
        self.init=function(){
            setTimeout(function(){
                 self.status('Loaded');
                self.options([
                    {txt:'First Option',val:0},{txt:'2nd Option',val:1}]);
            },1000);
        }
        self.init();
    }
    ko.applyBindings(new vm());
    

    http://jsfiddle.net/dhanasekaran/SRLvj/

    【讨论】:

      猜你喜欢
      • 2012-08-18
      • 2019-03-20
      • 2013-05-24
      • 2017-01-18
      • 1970-01-01
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多