我正在使用 YUI 数据表 2.8.2。我需要单击删除按钮并发出ajax请求,成功响应后,单击的删除按钮应替换为 "已删除">文本。但是当我对任何列进行排序时,"已删除"文本会消失,因为旧数据被排序。默认情况下,所有按钮文本都应为"删除? 有什么帮助吗??
裁判:
// Create a new YUI instance and populate it with the required modules.
YUI((.use('node', function (Y( { Y.one('body'(.addClass('yui-skin-sam'(; });
http://jsfiddle.net/ejx3zex3/1/
原因是当您对表进行排序时,它会重新呈现自身。当有人单击按钮时,它不会更改任何状态(即有关基础数据的任何内容(,您只是更改单元格的内部 HTML。 重新呈现时,基础数据将覆盖现有内容。
因此,要执行所需的操作,您需要为"是否已删除"数据创建一个字段,并在有人单击按钮时更新其值。 然后,该列的呈现函数将查看"是否已删除"值,并根据值显示"删除"或"已删除"。
像这样的东西: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 今年被停用了。