2013-03-06 72 views
1

我想顯示一個工具提示,其中包含從json文件加載的內容。我正在使用tooltipsy插件。工具提示:Json內容加載

工具提示必須顯示信息的元素被賦予一個REL號碼。

<span class="question hastip" rel="1"> 

這個數字將代表JSON對象

{ 
"users" : [ 
    { 
     "name" : "John", 
     "functie" : "Frontend webdev" 
    }, 
    { 
     "name" : "Doe", 
     "functie" : "backend webdev" 
    } 
] 

}

元素這是我的代碼調用onready:

$('.hastip').tooltipsy({ 
    showEvent: 'click', 
    hideEvent: 'click', 

    content: function ($el, $tip) { 
     var $el = $(this); 
     var active_tooltip = $el.attr('rel'); 

     $.getJSON('/Scripts/test.js', function (data) { 

      $tip.html(function() { 
       var title = data.users[active_tooltip].name; 
       var mtext = data.users[active_tooltip].functie; 
       return '<div>' + title + mtext + '</div>'; 
      }); 
     }); 
     return 'Fallback content'; 
    }, 

}); 

顯然我不能修復它,有什麼幫助?我創建了一個jsFiddle

+1

你剛開任何錯誤?或者你只是在工具提示中只有一個值? – bipen 2013-03-06 11:15:14

+0

對不起編輯我的文章(data.users [active_tooltip] .name)。我認爲錯誤在'var active_tooltip = $ el.attr('rel');'在控制檯中我看到$ el.attr('0'),但是接着我跨過了它不確定 – pwavg 2013-03-06 11:57:57

+0

try console.log active_tooltip),看看你是否得到相對值?讓我知道 – bipen 2013-03-06 12:03:15

回答

1

試試這個

..... 
content: function ($el, $tip) { 
    // var $el = $(this); //no need ,$el is given by the $el in content options. 
    var active_tooltip = $el.attr('rel'); 

    $.getJSON('/Scripts/test.js', function (data) { 

     $tip.html(function() { 
      var title = data.users[active_tooltip].name; 
      var mtext = data.users[active_tooltip].functie; 
      return '<div>' + title + mtext + '</div>'; 
     }); 
    }); 
    return 'Fallback content'; 
}, 
.... 

fiddle here ..check控制檯...

+0

確實,謝謝 – pwavg 2013-03-06 15:44:13

+0

歡迎...快樂編碼.. :) – bipen 2013-03-07 04:54:22