2010-12-06 4 views
5

jQuery tmplテンプレートの{{each}}ブロック内から外部スコープの変数にアクセスするにはどうすればよいですか?このコードで、例えば

<div id="user_collection_requests-${id} table-cell" class="user_collection_requests"> 
     {{if requests}} 
      {{each(i, user) requests}} 
       <div id="user_collection_request-${id}-${user.id}" ... 
      {{/each}} 
     {{/if}} 
    </div> 

${id}プリント外側オブジェクトのid属性が、${user.id}同じ第${id}プリント。私は外側のスコープのid{{each}}ブロック内から取得したいと思います。

これは可能ですか?または、このような衝突が発生しないように変数に名前を付ける必要がありますか?

+0

私はそれも考えました。 'item.parent'は残念ながら' undefined'です。 –

答えて

-1

あなたは

http://api.jquery.com/parent/ 

.parent(jQueryの親メソッドを使用する必要がありますが)あなたの親プロパティの

+0

彼はDOMについて質問しておらず、jQueryデータテンプレートについて質問しています。 –

+0

@mu、ドキュメントのコメント欄に$ {$(item).children()。length}を書くことができるという記述があるので、parent()が実際にうまくいくかもしれないという理由があるjqueryオブジェクトに変換されます。ちょっとした考え。 –

0
<script id="template" type="text/x-jquery-tmpl"> 
    <div id="user_collection_requests-${id} table-cell" class="user_collection_requests"> 
     {{if user}} 
      {{each user}} 
       <div id="user_collection_request-${$data.id}-${id}"></div> 
      {{/each}} 
     {{/if}} 
    </div>  
</script> 

例を示します:簡単な言葉でhttp://jsfiddle.net/P4jGt/

0

使用${($data.UserId = Id),''}後でそれを使用するeachここで

UserIdとして私が使用しています私のコードは、スクリプトの1

<script id="templateFolderTop" type="text/html"> 
    <li> 
     ${($data.ParentTagSlug = Tag.replace(/[^a-zA-Z0-9_]/g,'-')),''} 
     <span class="CAPS"> 
      <a id="${ParentTagSlug}" onclick="_NewsManager.FolderSubCall(${Id})"></a> 
      <a href="#${ParentTagSlug}" class="top_menu_href" >${Tag}</a> 
     </span> 
     {{if ChildList.length}} 
     ${($data.ParentTag = ParentTagSlug),''} 
     <div class="dropdown_2columns"> 
      <div class="col_1 firstcolumn"> 
       <ul> 
        {{each ChildList}} 
        ${($data.TagSlug = Tag.replace(/[^a-zA-Z0-9_]/g,'-')),''} 
        <li> 
         <a id="${ParentTag}-${TagSlug}" onclick="_NewsManager.NewsListCall(${Id})"></a> 
         <a href="#${ParentTag}-${TagSlug}" >${Tag}</a> 
        </li> 
        {{/each}} 
       </ul> 
      </div> 
     </div> 
     {{/if}} 
    </li> 
</script> 
1

にあなたは{{各}}外の変数を宣言することができている

${($data.localVariable = $id),''} 

とアクセスをブロックします後で

${localVariable} 
関連する問題