2014-02-25 93 views
0

HTML敲除不保存/檢測到更改

 <div class="infoview-details" data-bind="foreach: Container"> 
      @* <span data-bind="text: sub().sub_name" ></span>*@ 
      <div class="row-fluid"> 
       <div class="span3"> 
        <span data-bind="visible: sub().interval_from"><input type="text" data-bind="value: sub().interval_from" /></span> 
        <span data-bind="text: sub().limitTypeSymbol" ></span> 
        <span data-bind="visible: sub().interval_to"><input type="text" data-bind="value: sub().interval_to" /></span> 
        <span data-bind="visible: sub().value"><input type="text" data-bind="value: sub().value" /></span> 
        <a class="btn btn-primary"data-bind="click: $parent.loadNewTestValidation">Update</a> 
       </div> 
      </div> 




      <hr />    
     </div> 
     <a class="btn btn-primary"data-bind="click: saveValidation">Save</a> 

視圖模型

function baseAppViewModel() { 
    var self = this; 

    self.Container= ko.observableArray([]); 

    self.saveValidation = function (data) { 

     app.ajax.post({ 
      url: app.url() + 'api/base/save/' +  self.id(), 
      data: ko.toJS(data.Container), 
      done: function() { 
       self.load(self.id()); 

      } 

     }); 
    }; 

模型1

function Container(data) { 
    var self = this; 

    self.sub= ko.observable(new sub(data.sub));  
} 

模型2

function sub(data) { 
    var self = this; 

    self.id = ko.observable(data.id); 
    self.type_output_id = ko.observable(data.type_output_id); 
    self.output_type_id = ko.observable(data.output_type_id); 
    self.validation_name = ko.observable(data.validation_name); 
    self.limit_type = ko.observable(data.limit_type); 
    self.value = ko.observable(data.value); 
    self.interval_from = ko.observable(data.interval_from); 
    self.interval_to = ko.observable(data.interval_to);  
} 

當我更改和更新時,我從輸入中獲得新值,但是如果添加新值並保存,我不會。
當我保存我甚至沒有得到發送到淘汰賽的xhr請求中的數據。 因此,在html代碼中必須有錯誤,但我沒有任何想法。 有什麼建議嗎?

+3

請在問題中添加更多上下文,並具體說明發生錯誤或預期行爲失敗的位置。否則,我們將不得不遍歷您的代碼來查找問題。如果可以的話,創建一個可用的JSFiddle。 – Tanner

回答

0

答案是:

 <div data-bind="with:Container"> 

      <input class="btn-save float-r" type="submit" data-bind="click: $parent.saveValidation" /> 
     </div> 

然後新的變化是檢測。