Jquery ui 使用jqueryui的工具提示

Jquery ui 使用jqueryui的工具提示,jquery-ui,jquery,Jquery Ui,Jquery,这是我第一次使用工具提示,我做了很多研究。我使用jquery网站获取了大部分信息。我希望我的工具提示在鼠标单击超链接时显示动态数据。我在我的链接中添加了标题,下面有代码: var t = 1000; $(document).tooltip({ content: '... waiting on ajax ...', open: function(evt, ui) { var elem = $(this); $.ajax({ type: "POST",ur

这是我第一次使用工具提示,我做了很多研究。我使用jquery网站获取了大部分信息。我希望我的工具提示在鼠标单击超链接时显示动态数据。我在我的链接中添加了标题,下面有代码:

  var t = 1000;
     $(document).tooltip({
       content: '... waiting on ajax ...',
open: function(evt, ui) {
    var elem = $(this);
    $.ajax({ type: "POST",url:'/GetTooltip/', data: 80140}).always(function() {

        elem.tooltip('option', 'content', 'Ajax call complete');

     });
setTimeout(function(){
  $(ui.tooltip).hide('destroy');
   }, t);},

   position: {
    my: "center bottom-20",
    at: "center top",
    using: function( position, feedback ) {
      $( this ).css( position );
      $( "<div>" )
        .addClass( "arrow" )
        .addClass( feedback.vertical )
        .addClass( feedback.horizontal )
        .appendTo( this );
    }
  }

});
var t=1000;
$(文档)。工具提示({
内容:“…正在等待ajax…”,
打开:功能(evt、ui){
var elem=$(本);
$.ajax({type:“POST”,url:'/GetTooltip/',数据:80140}).always(function(){
元素工具提示(“选项”、“内容”、“Ajax调用完成”);
});
setTimeout(函数(){
$(ui.tooltip).hide('destroy');
},t);},
职位:{
我的:“中底20”,
在“中心顶端”,
使用:功能(位置、反馈){
$(this.css(position);
$( "" )
.addClass(“箭头”)
.addClass(feedback.vertical)
.addClass(feedback.horizontal)
.附于(本);
}
}
});

我不完全了解ajax调用的语法(参考always函数)以及如何获取显示在工具提示上的数据。GetTooltip返回JSON数据,我只想将返回的数据发布到GetTooltip脚本并显示在工具提示上。目前,我的ajax没有发布任何内容。

关于您不完全了解的声明

  • always函数:always(函数(data | jqXHR,textStatus,jqXHR | errorshown){});始终在执行ajax请求后执行。有关更多信息,请参阅文档,另请参阅
  • 获取返回的数据以显示在工具提示上-请参见fiddle中的示例
你可以在stackoverflow上找到很多。看看这个,如果你需要更多的帮助,请告诉我

更新小提琴2 如果有。您可以传递从ajax回调返回的参数中的值。这是一个围绕ajax调用的简单包装器:

function callAjax(elem){
    $.ajax({ url: '/echo/json/',
         type: 'POST',
         contentType:"application/json; charset=utf-8",
         dataType:"json",
         data:  { json: JSON.stringify({ text: 'some text'})}
      }).always(
          function(data,textStatus, errorThrown) 
          { 
             elem.tooltip('option', 'content'
                , 'Ajax call complete. Result:' + data.text);
           });
}
我正在使用上面的
JSON.stringify(…)
创建一个JSON字符串。此功能可能不存在于所有浏览器中。因此,如果您遇到麻烦,请使用当前的chrome/chrome浏览器进行测试

因此,您可以在tooltip()中使用包装器函数:


在上面,您可以看到always方法使用3个参数(data、textStatus、ErrorSprown)调用匿名函数。要传递来自ajax调用的回复,您可以使用
data
。上面我只传递了一个带有propert文本的简单对象。要访问它,您可以使用
数据。text

非常感谢。在哪里传递需要在GetTooltip脚本中执行的值?谢谢你的链接,我现在正在查看always函数。@SitheloNgwenya我已经更新了小提琴和解释。如果你需要更多的指针,请告诉我。你的代码很棒。我已标记为已回答。我现在正在看更新的代码。
$('#tippy').tooltip({
    content: '... waiting on ajax ...',
    open: function(evt, ui) {
        var elem = $(this);
        callAjax(elem);
    } // open
});