簡體   English   中英

客戶端按鈕單擊操作完成后,YUI 2.8.2數據表對舊值進行排序

[英]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');});

http://jsfiddle.net/ejx3zex3/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今年已經停產。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM