Динамические параметры для динамического содержимого с помощью qTip - PullRequest
4 голосов
/ 19 февраля 2010

Я хочу передать динамический параметр с помощью 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'
});

Нет ли способа передать динамическое значение вданные параметров?

Заранее спасибо!

Флоран

Ответы [ 3 ]

8 голосов
/ 19 февраля 2010

попробуйте что-то вроде этого:

$('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'
});

Я не проверял это, но я сделал нечто подобное. Просто не могу найти его прямо сейчас.

3 голосов
/ 11 августа 2010

У меня была такая же проблема, и я решил с этим кодом.Прекрасно работает с qtip 1.0 rc3 и JQuery 1.4.2.Обратите внимание, что qtip имеет и проблема с jquery> 1.3.Google для связанной информации, но это легко исправить, добавив одну строку в 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'
   })
});
0 голосов
/ 19 февраля 2010

Это должно сработать, но просто попробуйте увидеть, что вы передаете как 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'
});
...