2014-07-07 21 views
0

我無法使它工作。如何將JavaScript添加到jQuery模板?在jQuery模板中使用JavaScript

我嘗試以下列方式沒有成功:

<script id="geoShapeTooltip" type="text/x-jquery-tmpl"> 
    ${ alert ("TEXT"); } 
    <table id="tooltipTable" > 
     <tr><th class="tooltipHeading" colspan="2"> 
       ${item.fieldValues.NAME}, ${item.fieldValues.REGION}</th></tr> 
     <tr> 
      <td>Population:</td> 
      <td>${item.fieldValues.POP2005}</td> 
     </tr> 
    </table> 
</script> 

這是我在fiddle問題。

編輯:我找到了一個不同的解決方案。在Infragistics模板中,您可以在if語句中執行javascript。 {{if YOUR_JAVASCRIPT_GOES_HERE}} Some Text}} {{/ if}}如果需要,可以將值添加到參數中,稍後再顯示它們。有點哈克,但工作。

+1

@Thauwa http://stephenwalther.com/archive/2010/11/30/an-introduction-to-jquery-templates =有效 – adaam

+0

你需要找到工具提示懸停的JavaScript回調函數/點擊事件(如果有的話)。首先查看igMap文檔。 – adaam

+0

這是AsP.NeT嗎? –

回答

1

我試圖將jQuery的模板腳本區域內嵌套正常的JavaScript代碼,它似乎很好地工作:

<script id="geoShapeTooltip" type="text/x-jquery-tmpl"> 
     <table id="tooltipTable" > 
      <tr><th class="tooltipHeading" colspan="2"> 
        ${item.fieldValues.NAME}, ${item.fieldValues.REGION}</th></tr> 
      <tr> 
       <td>Population:</td> 
       <td>${item.fieldValues.POP2005}</td> 
      </tr> 
     </table> 
     <script type="text/javascript"> 
      alert('${item.fieldValues.NAME}'); 
    </script> 
</script> 

顯然,這有一個缺點,你得到有效增加了新的<script type="text/javascript">..</script>標籤的DOM每當一個國家被盤旋時。另一種正確的方法是在國家/地區懸停時查明igMap文檔中觸發了哪些事件,並在document.ready處理程序中編寫事件處理程序以偵聽該事件。如果你這樣做,你需要使用jQuery的on委託事件處理程序來監聽與特定類(即geoShapeTooltip)相關的任何事件,並將它們動態添加到頁面中。

http://jsfiddle.net/W5ys9/6/

+0

使用內嵌腳本標記的好建議。過了一段時間,我找到了另一種方式。 seriesMouseLeftButtonUp適用於igMap。即使它沒有記錄在任何地方 - – Nicolas