2013-09-26 56 views
0

我正在尋找一種方法來更新選擇元素的optionsText後,我從ajax調用收到我的數據。knockout.js更新optionstext從ajax調用獲取數據後

我有我認爲是一個相當標準的選擇元素與多個關聯的字段和複選框的視圖設置。

在我做ajax調用來獲取數據之前,我使用optionsText屬性來設置「加載數據...」選項,一旦數據調用完成,我想刪除optionsText並將select選項設置爲列表中第一個「真實」的,也就是從我的數據調用中返回的數組中的第一個元素。

如果不刪除optionsText,我想至少將它改爲「選擇foobar」,以便用戶知道數據調用已完成。

任何人有任何想法?謝謝!

回答

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/