J’ai un template moustache.js
{{#rows}}{{catagorie_name}} {{/rows}}
dans celui-ci, je veux faire la première lettre de chaque {{catagorie_name}}
en majuscule. Exemple:
india --> India australia-->Australia
C’est possible?
En supposant que l’object d’entrée est:
var counsortinges = { "rows": [ { "catagorie_name": "india" }, { "catagorie_name": "australia" }, { "catagorie_name": "spain" } ] };
Nous y ajoutons une fonction:
var func_var = { "capitalize_name": function () { return firstcap(this.catagorie_name); } }; jQuery.extend( counsortinges, func_var ); // https://stackoverflow.com/a/10384883/1287812
La fonction de capitalisation :
function firstcap(str) { // https://stackoverflow.com/a/11370497/1287812 var len = str.length; var re = /^\s$/; var special = true; // signalizes whether previous char is special or not for (var i=0; i=97 && code<=122 && special) { str = str.substr(0, i) + String.fromCharCode(code-32) + str.substr(i+1); special = false; } else if (re.test(str[i])) { special = true; } } return str; }
Et enfin, le modèle:
Utilisez CSS, vous voudrez peut-être définir une classe comme celle-ci sur votre tag
.capitalize {text-transform:capitalize;}
Et puis votre code original ressemblerait à