4

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

パラメータ data に動的な値を渡す方法はありませんか?

前もって感謝します !

フロラン

4

3 に答える 3

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

私はこれをテストしていませんが、似たようなことをしました。ただ、今は見つかりません。

于 2010-02-19T16:36:22.867 に答える
3

私は同じ問題を抱えていて、このコードで解決しました。qtip 1.0 rc3 および JQuery 1.4.2 で正常に動作します。qtipにはjquery>1.3の問題があることに注意してください。関連情報については Google を参照してください。ただし、jquery.qtip.js に 1 行追加するだけで簡単に修正できます。

$('.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'
   })
});
于 2010-08-11T19:04:43.507 に答える
-7

うまくいくはずですが、IDとして渡すものを確認するか、次のようなコレクションとしてデータを渡すようにしてください。

データ: {'type':'help_menu', 'q':id}

または

   
 $('a.menu_help').qtip({
    var id = $(this).attr('id');
    アラート (id);
    コンテンツ: {
      url:'my_ajax_controller.php',
      データ: 'type=help_menu&q='+ ID,
      メソッド: 「取得」
    }、
    show: 'マウスオーバー',
    非表示: 「マウスアウト」
});
于 2010-02-19T16:38:51.233 に答える