2012-06-04 141 views
0

在我的劇本,我有這樣的:淘汰賽映射的jQuery

$('#divForm').load('../Reservation/Edit #EditReservation', function() { 
    $('#divForm').slideDown(500), function() { }; 
    var viewModel = {}; 
    var id = JSON.stringify(rowid); 
    $.post("/Reservation/JsonEdit", { jsonId: id }, function (data) { 
     var trueData = JSON.stringify(data); 
     alert(trueData); 
     viewModel.model = ko.mapping.fromJSON(trueData); 
     alert("chkpt1"); 
     ko.applyBindings(viewModel); 
     alert("chkpt2"); 
    }); 
}); 

運行此腳本,直到 「chkpt1」,它不執行:ko.applyBindings(視圖模型); alert(「chkpt2」);

我在這個CSHTML使用這個腳本:

<div id="EditReservation" > 
<div data-bind="foreach: model.Room"> 
    <div style="margin-right: 160px; float:left"> 
     <div> 
      EMPLOYEE NUMBER: 
      <div> 
       <input type="text" data-bind="text: EmpNumber" /></div> 
     </div> 
     <div> 
      ROOM: 
      <div> 
       <input type="text" data-bind="text: Room" /></div> 
     </div> 
     <div> 
      DATE: 
      <div> 
       <input type="text" data-bind="text: Date" /></div> 
     </div> 
    </div> 
    <div style="margin-top: 40px;"> 
     <div> 
      START TIME: 
      <div> 
       <input type="text" data-bind="text: StartTime" /></div> 
     </div> 
     <div> 
      END TIME: 
      <div> 
       <input type="text" data-bind="text: EndTime" /></div> 
     </div> 
     <div> 
      NOTES: 
      <div> 
       <input type="text" data-bind="text: Notes" /></div> 
     </div> 
    </div> 
</div> 

股利EditReservation會出現,但字段爲空。

我確信,該​​數據結合每個字段是正確的,因爲它返回的JSON數據匹配時正確映射,

問題,ko.applyBindings沒有執行,這就是爲什麼我認爲字段爲空當加載時...

什麼可能是錯誤?

+0

你的ajax響應是什麼樣的?如果你的示例代碼在jsfiddle上運行,那麼給你一個答案會更容易。 –

+0

你在控制檯看到什麼錯誤? –

回答

0

輸入字段應該使用「值」綁定而不是「文本」綁定。如果這些屬性可能還沒有被映射,那麼您會在瀏覽器控制檯中看到由淘汰賽引發的異常。