我正在使用YUI数据表2.8.2。我需要单击删除按钮并且ajax请求成功,在成功响应之后,应该将被单击的删除按钮替换为 “已删除” text.But当我对任何列进行排序时,“已删除”文本消失,因为旧数据已排序。 默认情况下,所有按钮文本都应为“删除?”。 任何帮助?
参考:
// Create a new YUI instance and populate it with the required modules.
YUI()。use('node',function(Y){Y.one('body')。addClass('yui-skin-sam');});
答案 0 :(得分:1)
原因是当您对表进行排序时,它会重新呈现自己。当有人点击按钮时,它不会改变任何状态(即任何有关底层数据的东西),你只是改变了单元格的innerHTML。重新渲染发生时,现有内容将被基础数据覆盖。
为了做你想做的事,你需要创建一个字段,以便删除'数据,并在有人点击按钮时更新它的值。然后,该列的渲染功能将查看'这是否已删除'价值并显示'删除'或者'已删除'取决于价值。
像这样:http://jsfiddle.net/ejx3zex3/2/
主要是添加删除的键/字段:
var myColumnDefs = [{
key: "deleted",
formatter: function (el, oRecord, oColumn, oData) {
el.innerHTML = "<button type=\"button\" class=\"yui-dt-button\">Delete" + (oData ? "d" : "") + "</button>";
},
"label": "Delete?"
},
它仍然不理想,但希望足以让你继续前进。
顺便提一下,我假设您知道YUI2已经被弃用了几年,今年YUI3被淘汰了。