首页 > 解决方案 > 如何获取 Ajax 内容以引导 4 工具提示?

问题描述

我很难将 Ajax 内容添加到 Bootstrap 工具提示。我不能分享完整的代码,因为我不知道如何模拟 Ajax 调用,但我会尽可能多地分享:

如果我放置一个静态字符串而不是 getTooltip 函数,则下一步将起作用:

      $('.sync').tooltip({
       delay: 50,
       placement: "bottom",
       title: getTooltip,
       html: true
      }); 

这是不起作用的原始 getTooltip 函数:

function getTooltip() {

  var elementMouseIsOver = document.elementFromPoint(x, y);

  var type = $(elementMouseIsOver).closest('tr').find("td").eq(type_desc_colIndex).text();
  var objName = $(elementMouseIsOver).closest('tr').find("td").eq(object_name_colIndex).text();
  var headDB = String($(elementMouseIsOver).closest('table').find("th").eq($(this).parent().index()).data('dynatable-column')).replace("cause_", "");
  if ($.inArray(type, SQLprocedures) !== -1) {
    execProc({
      procName: 'db_compare_execute_sp',
      Params: '{"@statement": ' + JSON.stringify("SELECT OBJECT_DEFINITION (OBJECT_ID(\'" + objName + "\')) AS definition;") + '}',
      CallbackFunction: function (params) {
      var myRecords = params.Records;
        if (typeof myRecords.error !== undefined) {
          alert(myRecords.error);
        }
        else {
          return myRecords[0].definition;
        }
      },
      ConnectionString: headDB + 'ConnectionString',
      global: false
    });
  }
}

Return 实际上是在返回,但似乎 tooltip 并没有等待它。是这样吗?

谢谢,德扬

标签: jquerybootstrap-4

解决方案


好的,我刚刚为我的原始问题找到了一个解决方案,那就是在 Ajax 调用中设置标题:

          elementMouseIsOver.attr("title", myRecords[0].definition);

推荐阅读