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!

4

2 に答える 2

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/

于 2013-03-13T17:41:00.323 に答える
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);
于 2013-03-13T17:36:24.683 に答える