2011-03-23 14 views
0

說我有以下javascript對象層次結構:撥打JQuery的模板JavaScript函數

ITEMS是在它的一個元件的陣列,過濾器是在它

description "churches with some restrictions" 
    ITEMS {...} 
     [0] {...} 
      FILTER {...} 
       [0] {...} 
        fieldName "CATEGORY" 
        fieldValue "society%20news,us%20news" 
        schemaName "all" 

       [1] {...} 
       [2] {...} 
        fieldName "EDUCEDPEOPLE" 
        fieldValue "barack%20obama" 
        schemaName "all" 
maxResults "10" 
name "Save3" 
queryText "churches" 
schemaName "all" 
shareOwner "myuser" 

我有3項的數組以下JQuery的模板

<script id="TestTemplate" type="text/x-jquery-tmpl"> 
     <div> 
      <h1>Query</h1> 
      <ul> 
       <li>Name <span>${saveName}</span></li> 
       <li>Text <span>${queryText}</span></li> 
       <li>Owner <span>${shareOwner}</span></li> 

       <ol> 
       {{each ITEMS[0].FILTER}} 
        <li> 
         <ul> 
          <li>Field Name ${$value.fieldName}</li> 
          <li>Field Value ${$value.fieldValue}</li> 
         </ul> 
        </li> 
       {{/each}} 
       </ol> 
      </ul> 
     </div> 
</script> 

的模板是從JSON建成並解析成以上層級(下調爲簡潔起見)

<script type="text/javascript"> 
    var oJSON = JSON.parse(data); 
    if (oJSON !=null) 
    { 
     var alQueries = oJSON.QUERIES.QUERY; 
     if (alQueries !=null) 
     { 
      $('#TestTemplate').tmpl(alQueries).appendTo('#test'); 
     } 
    }       
    </script> 

    <div id="test"></div> 

問題是,你如何調用FILTER中的項目的JavaScript函數?我無法弄清楚語法。

+0

你試圖讓[0] .FILTER使用功能爲每個模板項目的子集? – Chandu 2011-03-23 21:51:56

+0

我正在嘗試迭代FILTER數組中的每個項目。那不是你怎麼做的? – 2011-03-23 22:04:06

回答

2

啊,想通了語法:

<li>Field Value ${unescape($value.fieldValue)}</li> 

簡單其實:)