我使用 ractive.js 来绑定(bind)一个选择框。我应该将选项的 id 提交给服务器,所以我使用 id 和 name。但是为了显示,我应该显示选项的文本。
<select value='{{selectedCountry}}'>
{{#countries}}
<option value='{{id}}'>{{name}}</option>
{{/countries}}
</select>
ractive = new Ractive({
el: myContainer,
template: myTemplate,
data: {
countries: [
{ id: 1, name: 'Afghanistan' },
{ id: 2, name: 'Albania' },
{ id: 3, name: 'Algeria' }
]
}
});
但是我只能获取到id,如何获取option中的文字呢?
<div>
{{selectedCountry}}
</div>
最佳答案
以下是如何使用简单的数组使其工作:
ractive = new Ractive({
el: 'main',
template: '#template',
data: {
countries: ['Afghanistan','Albania','Algeria']
}
});
ractive.observe( 'selectedCountryId', function ( id ) {
console.log( 'saving %s to server', id );
});
<script src='http://cdn.ractivejs.org/latest/ractive.js'></script>
<script id='template' type='text/html'>
<select value='{{selectedCountryId}}'>
{{#countries:i}} <!-- add a semicolon and an identifier to use index during iteration -->
<option value='{{i+1}}'>{{this}}</option>
{{/countries}}
</select>
<p>selected country: {{selectedCountryId}}/{{countries[selectedCountryId-1]}}
</p>
</script>
<main></main>
关于javascript - 在 ractive.js 中获取选中的选项文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29285528/