是否可以将对象设置为 radio 输入的值?
它尝试了这个http://jsfiddle.net/benroe/fah5f/3/ ,但它不起作用。这是一个错误吗?
#模板
<script id='tempMain' type='text/ractive'>
{{# products}}
<h1>{{name}}</h1>
{{# options:i}}
<div class='radio'>
<label>
<input type='radio' name='{{selectedRadio}}' value='{{options[i]}}'>{{name}}
</label>
</div>
{{/}}
{{/}}
</script>
javascript
productData = [
{ name: 'Cameras', options: [
{ name: 'Canon', price: '396'},
{ name: 'Sony', price: '449'}
]}];
ractive = new Ractive({
el: '#template',
template: '#tempMain',
data: {
products: productData,
selectedRadio: 'no Radio selected'
}
});
最佳答案
这实际上是最近 0.4.0 版本中出现的一个错误,但几天前已修复。 {{options[i]}}
值 - (因为它位于 {{#products:i}}
部分内)应解析为 products.0 .options.0
和 products.0.options.1
等等 - 而是解析为 options.0
和 options.1
.
有两种解决方案。一种是简单地使用 {{this}}
而不是 {{options[i]}}
- 可以正确解析( see fiddle )。这假设在您的真实应用程序中(而不是这个简化的测试用例)您能够做到这一点。
第二种是使用开发版本,其中包括修复:http://cdn.ractivejs.org/edge/ractive.js .
我们将尝试在不久的将来推出新的稳定版本。给您带来的不便敬请谅解!
关于javascript - Ractive.js 将对象设置为 radio 输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23252710/