【问题标题】:How to set icon in column from ajax call如何从ajax调用中设置列中的图标
【发布时间】:2020-03-03 22:55:11
【问题描述】:

我试图在第一次呈现表格时从 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,我希望它显示未链接,如果它是其他东西,我希望它显示眼睛。

如果返回值为0,则显示fa-unlink,否则显示fa-eye

非常感谢任何帮助。

【问题讨论】:

  • 恕我直言,您有太多未解决的问题。
  • 绝对正确..我现在已经知道如何关闭它们了。
  • 太好了,谢谢 :) 现在,你能澄清一下吗? “如果它是 0,如果它是其他东西,则眼睛”。 “眼睛”是什么意思?我注意到有 fa-eye 可能还有其他人,但不确定你写的内容是什么意思。
  • 抱歉没有解释...如果返回值为=0,则显示fa-unlink othereise display fa-eye
  • 只需添加一个 JS fiddle 示例并显示需要做什么

标签: javascript php ajax tabulator


【解决方案1】:

恐怕你不能这样做,Tabulator 中的格式化程序必须是同步的,才能快速呈现表格(否则表格必须在渲染每一行之前发出请求当您滚动时,表格确实结结巴巴)

这意味着格式化程序将在任何 ajax 请求返回之前完成执行。正确的方法是在将数据加载到表中之前更新数据,并为每一行提供正确的值。

【讨论】:

    猜你喜欢
    • 2019-09-07
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 1970-01-01
    相关资源
    最近更新 更多