xeditable onbeforesave没有开火

时间:2016-04-25 21:51:05

标签: javascript angularjs x-editable

我遇到了xeditable指令的问题。即使就地编辑在客户端工作正常,onbeforesave也不会触发。我无法通过onbeforesave或onaftersave得到任何反应。

我在项目中包含了角度版本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>

但点击保存后,我无法使警报响起。

2 个答案:

答案 0 :(得分:1)

如果你看the documentation

  

在服务器上提交数据的一种方法是定义指向某种范围方法的onbeforesave属性

onbeforesave正在采用范围方法,因此在这种情况下,alert('hello')会尝试调用一些不存在的$scope.alert方法。要使这项工作尝试类似

// 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>

答案 1 :(得分:0)

您必须提供fixed,如下所示(我只提取了错误的代码段)。

HTML

e-form

JS

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