如果未选择其他值,则选择AngularJS占位符值

时间:2018-06-25 21:21:20

标签: angularjs

这是我的下拉字段:

<select
        ng-model="$ctrl.year"
        <option value="Year" ng-selected="true">Year</option>
        <option ng-repeat="year in $ctrl.years" ng-value="year">{{year}}</option>
</select>

有时,模型中填充了year,在这种情况下,我想显示该值。有时,它是未定义的,在这种情况下,我想将字符串“ Year”显示为占位符(但不要将其作为可选选项)。我已经阅读了数十个堆栈溢出问题,并觉得我已经尝试了所有方法:

  • placeholder="blah"-什么也没做
  • <option value="" disabled selected>Year</option>-始终将占位符设置为Year,即使模型具有值也是如此
  • <option value="Year" ng-selected="$ctrl.year === undefined">Year</option>-仅添加 “年份”作为下拉菜单的选项。

1 个答案:

答案 0 :(得分:1)

<option value="" disabled selected>Year</option>

这应该起作用,如果模型正确匹配选择下拉选项,则应该自动选择它。如果没有这样做,则说明您的模型与选择选项项不正确匹配。为您的虫子提供臭虫,我可以修复它。请记住,在angular中,需要有一个指向选项值和ng-model的指针引用,以便它可以识别匹配项。