2014-04-22 128 views
4

我試圖創造一個提示爲我網這樣的:劍道UI - 工具提示在網格

$("#grid").kendoTooltip({ 
    autoHide: true, 
    showOn: "mouseenter", 
    width:125, 
    height:125, 
    position: "right", 
    filter: ".k-grid-content a.hasTooltip", 
    content: kendo.template($("#storeTerritory").html()) 
}); 

模板定義:

<script type="text/x-kendo-template" id="storeTerritory"> 
<div class="tooltipcontent"> 
    #for(var i = 0; i < Territories.length; i++){# 
     #if (Territories != 'null' && Territories != '') {# 
      <p>#=Territories[i].TerritoryDescription#</p> 
     #} else{# 
      <p>Information not available</p> 
     #}# 
    #}# 
</div> 
</script> 

我在這裏已經設置示例:
http://jsbin.com/iJunOsa/21/edit

我得到在控制檯中ReferenceError: Territories is not defined錯誤,當我鼠標移到「威爾頓」

比方說,我是用普通的老HTML,然後出現提示更換storeTerritory模板的內容:

<p>Wilton</p> 

還有什麼問題呢?

回答

5

問題是沒有與工具提示關聯的模型;爲了做到你想要什麼,你需要創建使用功能的內容:我的壞,模板代碼的某些部分缺失

$("#grid").kendoTooltip({ 
    autoHide: true, 
    showOn: "mouseenter", 
    width: 125, 
    height: 125, 
    position: "right", 
    filter: ".k-grid-content a.hasTooltip", 
    content: function (e) { 
     var row = $(e.target).closest("tr"); 
     var dataItem = $("#grid").data("kendoGrid").dataItem(row); 

     var template = kendo.template($("#storeTerritory").html()); 
     return template(dataItem); 
    } 
}); 

(更新demo

+0

謝謝拉爾斯,完美的工作! – nouptime

+0

對不起,麻煩你了,我正面臨着在工具提示中顯示圖像的問題。如果你能看看編輯過的問題,將不勝感激。 – nouptime

+0

請不要編輯改變其含義的問題;相反,問一個新問題。 –

0

的問題是,在模板的上下文(運行時):

<script type="text/x-kendo-template" id="storeTerritory"> 
    <div class="tooltipcontent"> 
     #if (Territories != 'null' && Territories != '') {# 
      <p>#=Territories[i].TerritoryDescription#</p> 
     #} else{# 
      <p>Information not available</p> 
     #}# 
    </div> 
</script> 

沒有什麼作爲Territoriesi所以它失敗。

+0

。我已經更新了示例,但問題仍然存在。 – nouptime