2016-04-25 13 views
2

私はxeditable指令に問題があります。クライアント側でインプレース編集が正常に機能していても、onbeforesaveは起動しません。私はonbeforesaveまたはonaftersaveのいずれかから反応を得ることができません。xeditable onbeforeresave発砲せず

私のプロジェクトには、角度バージョン1.5.0が含まれています。

<tr ng-repeat="job in jobs"> 
    <td>{{ job._id }}<i ng-click="removeJob(job._id)" class="fa fa-trash-o" aria-hidden="true"></i></td> 
    <td>{{ job.title }}</td> 
    <td editable-text="job.description" onbeforesave="alert('hello');">{{ job.description || "empty" }}</td> 
</tr> 

しかし、私は保存をクリックしたときにアラートがオフに行かせることができていない: 私はこのような要素を設定してい、それは表にあります。

答えて

1

あなたはthe documentationを見れば:

サーバー上のデータを提出する1つの方法はonbeforesaveがそう、スコープ方式に取っている範囲のいくつかの方法に

を指しonbeforesave属性を定義することですこの場合のalert('hello')は、存在しないメソッド$scope.alertを呼び出そうとしています。この作品を作るためには、あなたが(私は唯一の間違ったコードスニペットを抽出)以下に示すようにe-formを与える必要があり

// in your controller 

$scope.test = function(data) { 
    alert(data); 
}; 

// in your template 

<tr ng-repeat="job in jobs"> 
    <td>{{ job._id }}<i ng-click="removeJob(job._id)" class="fa fa-trash-o" aria-hidden="true"></i></td> 
    <td>{{ job.title }}</td> 
    <td editable-text="job.description" onbeforesave="test($data)">{{ job.description || "empty" }}</td> 
</tr> 
+0

私は、以前のスコープの方法を使用していたが、警告に置くことによって簡素化したかった..私は私の最初の試みで台無しのように思えます私がスコープメソッドを組み込んだとき、それはうまくいったからです。ありがとう@jpopseculian – Phil

0

のようなものを試してみてください。

Htmlの

<td editable-text="job.description" e-form="tableform" 
onbeforesave="checkJob(job)">{{ job.description || "empty" }}</td> 

JS

$scope.checkJob= function(data) { 

    //your logic 

    }; 
関連する問題