2014-07-11 4 views
1

Je passe le ci-dessous à mon modèle Underscrore (maintenant fieldAttr est dynamique ... peut avoir 2, 3 attrs attrs, etc.)Souligné logique dans le modèle

fieldAttr: { 
    id: "myElmId", 
    dataModelId: $(this).attr('data-model-id') 
} 

Maintenant, dans mon modèle HTML, je veulent boucle et mettre finalAttributesString (que je vais utiliser pour définir mes attributs textarea)

<% for (var i = 0, i < fieldAttr.length; i++) { %> 
    //logic to get finalAttributesString 
<% } %> 

<textarea <%=finalAttributesString%>></textarea> 

il devrait rendre comme ci-dessous:

<textarea id="myElmId" data-model-id="123"></textarea> 

Puis-je faire cela en utilisant Underscore JS? Si oui, pourriez-vous me guider s'il vous plaît?

+0

Quelle est la logique pour obtenir des données '-modèle id' de' dataModelId'? A quels autres attributs cela devrait-il s'appliquer? – Bergi

+0

il n'y a pas une telle logique .... si possible, j'ai le contrôle de passer comme le nom d'attribut exact lui-même ... c'est-à-dire. je peux passer data-model-id: $ (ceci) .attr ('data-model-id') – testndtv

+0

mais je pense, je ne peux pas passer directement le trait d'union dans le nom attr ... – testndtv

Répondre

0

beaucoup plus facile de le faire

<textarea <% for(var attr in fieldAttr) { %> <%= attr %>="<%= fieldAttr[attr] %>" <% } %> 
></textarea> 

J'ai fait un jsfiddle here

+2

Qu'est-ce que [' _.forIn'] (http://underscorejs.org/#forIn)? – Bergi

+0

Juste essayé que ... je reçois ReferenceError: attrs n'est pas défini – testndtv

+0

Désolé, _.forIn n'existe que dans [lodash] (http://lodash.com/docs#forIn). Corrigé – TKrugg