qTip动态内容的动态参数

时间:2010-02-19 16:28:46

标签: jquery ajax qtip

我想用qTip传递一个动态参数,但它失败了。 my_ajax_controller.php只显示变量类型,但不显示q。

$('a.menu_help').qtip({
    content: {
      url:'my_ajax_controller.php',
      data: 'type=help_menu&q='+$(this).attr('id'),
      method: 'get'
    },
    show: 'mouseover',
    hide: 'mouseout'
});

然而,q的静态值起作用:

$('a.menu_help').qtip({
    content: {
      url:'my_ajax_controller.php',
      data: 'type=help_menu&q=toto',
      method: 'get'
    },
    show: 'mouseover',
    hide: 'mouseout'
});

是否无法将动态值传递给参数数据?

提前致谢!

Florent的

3 个答案:

答案 0 :(得分:8)

尝试这样的事情:

$('a.menu_help').each(function(){
    $currentLink = $(this);
    $currentLink.qtip({
        content: {
          url:'my_ajax_controller.php',
          data: 'type=help_menu&q='+$currentLink.attr('id'),
          method: 'get'
        },
        show: 'mouseover',
        hide: 'mouseout'
});

我没有测试过这个,但我做了类似的事情。现在就找不到了。

答案 1 :(得分:3)

我遇到了同样的问题,我用这段代码解决了。适用于qtip 1.0 rc3和JQuery 1.4.2。 请注意,qtip具有jquery> 1.3的问题。谷歌提供相关信息,但很容易修复在jquery.qtip.js上添加一行

$('.username_link').each(function(){
   $(this).click(function(){ return false });//JS enabled => link default behavior disabled. Gaceful degradation
   $(this).qtip({
   content: { url: '/users/links',
              data: { id: $(this).attr('data-id') },
              method: 'post'
            },
   show: 'click',
   hide: 'mouseout'
   })
});

答案 2 :(得分:-7)

它应该可以工作,但只是尝试查看您作为ID传递的内容,或者将数据作为集合传递,如:

data : {'type':'help_menu', 'q':id}

或者

   
 $('a.menu_help').qtip({
    var id = $(this).attr('id');
    alert(id);
    content: {
      url:'my_ajax_controller.php',
      data: 'type=help_menu&q='+ id,
      method: 'get'
    },
    show: 'mouseover',
    hide: 'mouseout'
});