javascript - 在 ractive.js 中获取选中的选项文本

标签 javascript ractivejs

我使用 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/

相关文章:

javascript - 如何使用jquery旋转鼠标滚轮上的元素?

javascript - 如何将 socket.io 消息发送到 mongodb

javascript - 具有自动完成功能的搜索栏,用于搜索 JavaScript 数组/对象(非 Ajax)中的数据

javascript - 使用 ractive.animate 覆盖特定键路径的 ractivet.set

javascript - 限制列表表达式中显示的列表项数量

javascript - 在 Android 的 WebView 中通过 javascript 捕获页面重定向

javascript - 在调整另一个元素大小时调整元素大小

javascript - active 单选按钮绑定(bind) - 保留名称

javascript - 如何在嵌套函数中保留 'this' 上下文

javascript - 如何在 Require.js 优化期间使用本地文件,但在运行时使用 CDN 托管版本?