2013-03-13 53 views
0

我有一個關於使用敲除數據綁定的問題。敲出數據綁定

問題出在這裏:我有一個表格,我想要做的是在單擊表格中的一行時,我希望該行的值出現在位於表格上方的輸入文件夾中。

所以這裏的

<tbody data-bind="foreach: customers"> 
         <tr data-bind="click: doSomething">  
          <td data-bind="text: date"></td> 
          <td data-bind="text:staff"></td> 
          <td data-bind="text: ftype"></td> 
          <td data-bind="text: value"></td> 
          <td data-bind="text: message"></td> 
          </td> 
         </tr> 
        </tbody> 

在我的視圖模型,我有以下功能:

doSomething: function(data) { 
     var self = this;  
     self.date(data.date);   
     self.staff(data.staff); 
     self.ftype(data.ftype); 
        self.value(data.value); 
        self.message(data.message); 

    } 

下面是我收到的錯誤:

["Unable to parse bindings.↵Message: ReferenceError:… is not defined;↵Bindings value: click: doSomething", "views/myView/index", Object] 
    0: "Unable to parse bindings.↵Message: ReferenceError: doSomething is not   defined;↵Bindings value: click: doSomething" 
1: "views/myView/index" 
    2: Object 
length: 3 
__proto__: Array[0] 

讓我知道如果我需要提供更多的細節。我會感謝您的幫助fplks!

回答

0

你需要你的模型綁定到視圖

var currentViewModel = function(){ 
    this.doSomething = function(data){ 
     var self = this;  
     self.date(data.date);   
     self.staff(data.staff); 
     self.ftype(data.ftype); 
       self.value(data.value); 
       self.message(data.message); 
    } 
var viewModel = new currentViewModel(); 
ko.applyBindings(viewModel); 
+0

什麼在DoSomething的方法去? – Stranger 2013-03-13 17:39:12

+0

我正在嘗試將dosomething函數中的值綁定到我的輸入字段,以便在單擊行時顯示值 – Stranger 2013-03-13 17:40:29

+0

是下面兩行代碼進入函數還是停留在函數之外? – Stranger 2013-03-13 17:55:42

1

對於這種類型的事情一個非常基本的模式是有項目的數組和selectedItem觀察到的,你選擇行時填充。

然後,您可以在節的周圍使用with綁定來創建編輯器。

<table> 
    <tbody data-bind="foreach: customers"> 
     <tr data-bind="click: $root.selectedCustomer">  
      <td data-bind="text: name"></td> 
     </tr> 
    </tbody> 
</table> 

<hr/> 

<div data-bind="with: selectedCustomer"> 
    <input data-bind="value: name" /> 
</div> 

樣品:http://jsfiddle.net/rniemeyer/Z6VPV/

+0

讓我試試這個,我會在一分鐘內回覆你 – Stranger 2013-03-13 17:45:19

+0

順便說一句,他們有什麼不對的方式我寫它?如果是這樣,那我該如何解決它?我已經有一個可觀察的數組,我正在填充我的表格,它的工作原理。但是,當我添加點擊事件時,它會給我解析錯誤,並且表格不再顯示數據 – Stranger 2013-03-13 17:47:20

+0

最好的辦法是在jsFiddle中獲取一些可以證明你的問題的東西。 – 2013-03-13 17:48:22