angularjs - 如何使用来自同一来源的不同值设置默认选定的下拉列表

标签 angularjs

我有一个 JSON 数组,我在其中创建下拉列表并使用 ng-model 默认选择

$scope.repeats = [{
    'title': 'Never',
    'value': 'Never'
  }, {
    'title': 'Daily',
    'value': 'Daily'
  }, {
    'title': 'Weekdays (M-F)',
    'value': 'Weekdays'
  }, {
    'title': 'Weekly',
    'value': 'Weekly'
  }, {
    'title': 'Monthly',
    'value': 'Monthly'
  }, {
    'title': 'Yearly',
    'value': 'Yearly'
  }, {
    'title': 'Hourly',
    'value': 'Hourly'
  }, {
    'title': 'Minutely',
    'value': 'Minutely'
  }];

$scope.def_sele = $scope.repeats[0]

在 View 中:

<select ng-model="def_sele" ng-options="repeat.title for repeat in repeats"></select>

从上面的代码中,默认选择的下拉列表是Daily。到这里一切都很好。

但我正在创建一个 TODO 应用程序,其中每个 TODO 都有不同的选择(从不、每日等。来自上面的$scope.repeats)

那么,如何设置每个 TODO 的默认选择???因为我给出的上面的示例适用于所有地方,并且我在每个 TODO 上选择了 Daily,但我想为每个 TODO 选择不同的不同内容,该怎么做???


已更新

我的代码是这样的:

<ul ng-repeat="todo in todos_detail">
    <select ng-model="todo.dropdown_position_index" ng-options="repeat.title for repeat in repeats"></select>
</ul>

在上面的示例中,每个 todo 都有不同的 dropdown_position_index,所以我希望使用 todo 下拉列表是 selected = selected .dropdown_position_index

最佳答案

您需要确保在 <select> 中选择的值与您选择的 todo 中的值对齐.

我还没有看到你的代码,所以I put together a working example in jsbin .

基本思想是这样的:

<select ng-model="X" ng-options="x.A as x.B for x in Z"></select>

地点:

  • Z = 您的选项集合
  • x = Z 中的单个项目变量
  • x.A = 选项的
  • x.B = 选项的文本
  • X = 要更新的值读取的值

只要数组Z里面有一个物体x特性在哪里x.A等于X ,它将被选中。

...或者为了不那么令人困惑的答案,check the code example 。 ;)

祝你好运

关于angularjs - 如何使用来自同一来源的不同值设置默认选定的下拉列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24097203/

相关文章:

angularjs - 如何获取从 Angular 到 NodeJS/Express JS 的多个 GET 请求参数

javascript - AngularJS 指令之间的通信

java - angular js 优于 jsp view

javascript - 使用 ng-repeat 在指令中显示数据

AngularJS - 具有动态总数的循环数据

javascript - 动态指定要在 Angular 指令中使用的 Controller

javascript - 似乎无法从 ng-change 事件中的 Angular 绑定(bind)控制获取值

带有 trustAsHtml 的 AngularJS 过滤器

angularjs - 将 gulp-webserver 与代理和中间件一起使用

angularjs - 错误: [$controller:ctrlreg] Angular js code does not working properly