JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<script src="http://cdn.ractivejs.org/edge/ractive.js"></script>
<main></main>
<script id='template' type='text/ractive'>
{{#each items :i}}
<div>
<h2>Item {{name}}</h2>
<p>Selected: {{ (selected && selected[i]) || 'nothing'}}</p>
{{#each options}}
<label>
<input type='radio' name='{{selected[i]}}' value='{{this}}'/>
{{this}}
</label>
{{/each}}
</div>
{{/each}}
</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: {
items: [
{ options: [ 'a', 'b', 'c' ] },
{ options: [ 'd', 'e', 'f' ] },
{ options: [ 'g', 'h', 'i' ] }
]
// Uncomment this line to make it work. Alternatively, replace
// `{{selected[i]}}` in the template with `{{~/selected[i]}}`
// , selected: []
}
});