我試圖在第一次呈現表格時從 ajax 調用更改列中顯示的圖標。如果我只有: return "<i class='fas fa-eye fa-xs'></i>";這是列設置{title:"Review",formatter:reviewIcon, width:40, headerVertical:true, align:"center", cellClick:reviewCellClick },我的 ajax 調用非常簡單,也許不是最好的,但它得到了我想要的結果。返回值為 0 或其他值。我只關心0。var reviewIcon = function(cell, formatterParams, onRendered){ //plain text value var cell = cell.getData(); var ag = cell.accessgroups; var xhr = new XMLHttpRequest(); xhr.open("GET", "includes/getaccessgroups.php?ag="+ag, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { var returned = xhr.response; if(returned < 1 ){ return "<i class='fas fa-unlink fa-xs'></i>"; } else { return "<i class='fas fa-eye fa-xs'></i>"; } } } xhr.send(); // return "<i class='fas fa-eye fa-xs'></i>";};基本上,如果它是 0,我希望它顯示未鏈接,如果它是其他東西,我希望它顯示 unlinked。如果返回值為0,則顯示,fa-unlink否則顯示fa-eye。非常感謝任何幫助。
1 回答

慕碼人2483693
TA貢獻1860條經驗 獲得超9個贊
恐怕你不能這樣做,制表器中的格式化程序必須是同步的,以便表格能夠快速呈現(否則表格必須在呈現每一行之前發出請求,這會使表格變得非??诔詽L動)。
這意味著格式化程序將在任何 ajax 請求返回之前完成執行。正確的方法是在將數據加載到表中之前更新數據,并為每行提供正確的值。
- 1 回答
- 0 關注
- 104 瀏覽
添加回答
舉報
0/150
提交
取消