javascript - 更改 ng-model 时选择不更新

标签 javascript angularjs

我有这样的代码:

  <select ng-model="mode" ng-init="mode=10">
    <optgroup label="Serif">
      <option value="0">Normal</option>
      <option value="1">Bold</option>
      <option value="2">Italic</option>
      <option value="3">Bold Italic</option>
    </optgroup>
    <optgroup label="Sans">
      <option value="4">Normal</option>
      <option value="5">Bold</option>
      <option value="6">Italic</option>
      <option value="7">Bold Italic</option>
    </optgroup>
    <optgroup label="Script">
      <option value="8">Normal</option>
      <option value="9">Bold</option>
    </optgroup>
    <optgroup label="Fraktur">
      <option value="10">Normal</option>
      <option value="11">Bold</option>
    </optgroup>
    <optgroup label="Monospace">
      <option value="12">Normal</option>
    </optgroup>
    <optgroup label="Double-struck">
      <option value="13">Bold</option>
    </optgroup>
  </select>
  <label for="text">Input Text</label>
  <input id="text" ng-model="input"/>
  <div>
    Output: {{input|convert:mode}}
  </div>

模式范围值已更改,转换过滤器以模式 == 10 执行,但选择未更新它仍未选中。当范围变量更改时,如何修复要更新的选择?

这里是 code pen证明了问题。

最佳答案

由于选项值被视为string,您需要将ng-init 值设置为string,如下所示

<select ng-model="mode" ng-init="mode='10'">

DEMO

关于javascript - 更改 ng-model 时选择不更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40947401/

相关文章:

javascript - 使用 chrome 扩展检查 javascript 库是否存在

javascript - 无法找到在 docker 环境中运行的 Node js 应用程序的模块错误

javascript - Angular 2 routerLink 无法在路由器导出内工作

javascript - jQuery - 针对 sibling 、 parent 、后代和其他家庭动物

javascript - 无法显示 fancyBox 标题

javascript - 由于 "No captured browser"消息,Karma 未运行单元测试

javascript - 如何强制下载的文件保持在数组中的相同位置?

javascript - AngularJS:输入类型=数字“将 ngModel 字符串值解析为数字并返回

javascript - 延迟指令/div 直到范围值可用

javascript - 为 ng-options 中的每个选项显示一个具有不同背景的正方形