2016-07-23 4 views
0

私は.jsファイルを作成しており、各要素をループしてこの "self.renderButtons"を追加しようとしています。削除をクリックすると、削除機能が呼び出されます。それは誰も助けることができないのですか?.jsファイル内のデータバインド

 self.renderButtons = function (id) { 
    return ('<a href="' + '/Product/' + id + '" class="btn btn-sm btn-primary btn-margin-right"><span class="fa fa-file-text-o"></span> Details</a>' 
    + '<button class="btn btn-sm btn-danger" data-bind="click: removeItem"><span class="glyphicon glyphicon-trash"></span>&nbsp;Delete</button>'); 
} 
self.removeItem = function (item) { 
    $(document).trigger('loader-show'); 
    self.service.delete(item.Id, self.handleDelete, self.handleError); 
}; 
+0

コードのどの部分がうまくいかないのですか?ブラウザのコンソールにエラーが表示されますか? –

+0

削除ボタンをクリックすると、removeItem関数には移動しません。コンソールにエラーはありません。 f_martinez – Ajay

+0

すべてのバインディングが既に適用されているので(どちらのボタンも処理されないため)、または 'removeItem'に正しいコンテキストを指定する必要があります(例えば' $ root.removeItem')。あなたのviemodelの詳細と 'renderButtons'メソッドの使い方を追加して、あなたの質問を拡大することを検討してください。 –

答えて

0

DOMを操作するのはKnockoutの仕事です。配列の各要素に対応するボタンが必要な場合は、foreach bindingのジョブです。 observableArrayを操作すると、KnockoutはDOMにその状態を反映させます。

関連する問題