我試圖在第一次呈現(xiàn)表格時(shí)從 ajax 調(diào)用更改列中顯示的圖標(biāo)。如果我只有: return "<i class='fas fa-eye fa-xs'></i>";這是列設(shè)置{title:"Review",formatter:reviewIcon, width:40, headerVertical:true, align:"center", cellClick:reviewCellClick },我的 ajax 調(diào)用非常簡(jiǎn)單,也許不是最好的,但它得到了我想要的結(jié)果。返回值為 0 或其他值。我只關(guān)心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貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超9個(gè)贊
恐怕你不能這樣做,制表器中的格式化程序必須是同步的,以便表格能夠快速呈現(xiàn)(否則表格必須在呈現(xiàn)每一行之前發(fā)出請(qǐng)求,這會(huì)使表格變得非??诔詽L動(dòng))。
這意味著格式化程序?qū)⒃谌魏?ajax 請(qǐng)求返回之前完成執(zhí)行。正確的方法是在將數(shù)據(jù)加載到表中之前更新數(shù)據(jù),并為每行提供正確的值。
- 1 回答
- 0 關(guān)注
- 102 瀏覽
添加回答
舉報(bào)
0/150
提交
取消