JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<script src="http://cdn.ractivejs.org/edge/ractive.js"></script>
<pre id='html'></pre>
<script id='template' type='text/ractive'>
{{#Fields:i}}
{{#.MaskTextBox}}
<span>
<input data-bind="value: Fields[{{i}}].MaskTextBox.Value"
data-role="maskedtextbox"
placeholder="{{PlaceHolder}}"
data-mask="{{Mask}}" />
</span>
{{/.MaskTextBox}}
{{/Fields}}
</script>
CSS
body {
font-family: 'Helvetica Neue', arial, sans-serif;
font-weight: 200;
color: #353535;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 200;
}
JavaScript
var ractive = new Ractive({
el: 'main',
template: '#template',
data: {
Fields: [
{
MaskTextBox: {
PlaceHolder: 'this is a placeholder',
Mask: 'true'
}
},
{
MaskTextBox: {
PlaceHolder: 'this is another placeholder',
Mask: 'false'
}
}
]
},
preserveWhitespace: true
});
// this is just so the template becomes visible in the
// box on the right, ignore it
html.innerText = ractive.toHTML().split( '\n' ).map( deIndent ).join( '\n' ).trim();
function deIndent ( line ) {
return line.substring( 8 );
}