X-Editable:将事件附加到数据更改

Posted

技术标签:

【中文标题】X-Editable:将事件附加到数据更改【英文标题】:X-Editable: Attach event to data change 【发布时间】:2014-03-31 23:40:50 【问题描述】:

如何将事件附加到使用 XEditable 完成的字段中的任何数据更改?如果没有,是否有任何其他插件允许这种行为?

【问题讨论】:

这个文件是vitalets.github.io/x-editable/demo.html 会帮助你吗??? 不...所拥有的只是它们支持的元素类型,而不是如何将事件附加到数据更改...尝试在文档中搜索,但没有帮助 您能否更准确地说:您是否希望在用户更改数据而不保存时触发事件?还是保存后更改数据? (忽略未更改的保存数据)它是用于输入文本吗?或日期选择器? ... 我对用户更改数据时触发事件感兴趣,无论该数据是否已保存(保存正在发送到我不关心的服务器),我对 UI 级别的事件感兴趣 【参考方案1】:

我正在使用Angular-xeditable,我也可以绑定事件并添加其他属性。 将e-onChange="alert('I am Fired')" 添加到您需要的 HTML 标记中。 例如:

<a href="#" editable-text="user.name" e-onChange="alert('I am Fired')" e-style="color: green" e-required e-placeholder="Enter name">

http://jsfiddle.net/cg3pLmed/

通过 javascript

$('#username').on('save', function(e, params) 
     alert('Saved value: ' + params.newValue);
);

提交新值时触发。您可以使用$(this).data('editable') 访问可编辑实例。检查以下链接中的事件 http://vitalets.github.io/x-editable/docs.html

【讨论】:

OR $('#username').on('save', function(e, params) alert('保存的值: ' + params.newValue); ); :@wolffer-east 这并没有显示如何在您的控制器上调用代码。似乎在 e-onChange 内部,您无法访问控制器,而这是大多数应用程序在更改后实现复杂应用程序逻辑所需要的。【参考方案2】:

您可以使用e-ng-change 来添加这样的回调:

<span editable-select="user.status" e-name="status" 
    e-ng-change="onStatusChanged($data)" 
    e-ng-options="s.value as s.text for s in statuses">

这是一个小提琴,状态选择框将触发控制器方法onStatusChanged

http://jsfiddle.net/NfPcH/9713/

【讨论】:

【参考方案3】:

您可以在没有 Angular 的情况下使用基本 X-Editable 的成功或错误回调函数。 见http://vitalets.github.io/x-editable/docs.html#editable

【讨论】:

以上是关于X-Editable:将事件附加到数据更改的主要内容,如果未能解决你的问题,请参考以下文章

x-editable 的成功回调不起作用

在 laravel 中使用 x-editable 更改动态状态

x-editable (twitter bootstrap):如何更改空值?

动态添加元素上的 X-Editable 引导插件“隐藏”事件问题

自定义 X-editable (AngularJS) 的取消代码按钮

editable组件_表格行内编辑事件