[英]YUI 2.8.2 datatable sorts old value after a client side button click action is done
我正在使用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');});
原因是當您對表格進行排序時,表格會重新呈現。 當某人單擊該按鈕時,它不會更改任何狀態(即有關基礎數據的任何狀態),您只是在更改單元格的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今年已經停產。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.