相关疑难解决方法(0)

使用AngularJS和ng-repeat初始化选择

我正试图让选择框从使用Ang-repeat和AngularJS 1.1.5的预填充选项开始.相反,选择始终从未选择任何内容开始.它也有一个空选项,我不想要.我认为没有被选中的副作用.

我可以使用ng-options而不是ng-repeat来使用它,但我想在这种情况下使用ng-repeat.虽然我的缩小示例没有显示,但我也想设置每个选项的title属性,据我所知,使用ng-options无法做到这一点.

我不认为这与常见的AngularJs范围/原型继承问题有关.至少我在Batarang检查时没有看到任何明显的东西.此外,当您使用UI选择选项中的选项时,模型会更新正确.

这是HTML:

<body ng-app ng-controller="AppCtrl">
    <div>
        Operator is: {{filterCondition.operator}}
    </div>
    <select ng-model="filterCondition.operator">
       <option 
           ng-repeat="operator in operators" 
           value="{{operator.value}}"
       >
           {{operator.displayName}}
       </option>
    </select>
</body>
Run Code Online (Sandbox Code Playgroud)

和JavaScript:

function AppCtrl($scope) {

    $scope.filterCondition={
        operator: 'eq'
    }

    $scope.operators = [
        {value: 'eq', displayName: 'equals'},
        {value: 'neq', displayName: 'not equal'}
     ]
}
Run Code Online (Sandbox Code Playgroud)

JS小提琴:http://jsfiddle.net/coverbeck/FxM3B/2/

javascript angularjs

132
推荐指数
4
解决办法
24万
查看次数

如何对AngularJS生成的选择列表进行预选?

<select ng-model="team.captain" ng-options="player.name for player in team.players"></select>
Run Code Online (Sandbox Code Playgroud)

这会正确创建选择列表以选择团队队长.但是,默认情况下会选择空白选项.我们如何从列表中预选第一个玩家呢?

<select ng-model="team.captain" ng-options="player.name for player in team.players" class="ng-pristine ng-valid">
  <option value="0">John</option>
  <option value="1">Bobby</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我尝试添加,ng-init="team.captain='0'"但没有帮助.

更新显然这是因为

传递给ng-options的一组选项中不存在ng-model引用的值.

来源:为什么AngularJS在select中包含一个空选项?

但是,问题仍然存在,为什么使用ng-init不起作用?

<select ng-init="team.captain='0'" ng-model="team.captain" ng-options="player.name for player in team.players"></select>
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

29
推荐指数
3
解决办法
6万
查看次数

标签 统计

angularjs ×2

javascript ×2