如果选项值相同,则Angular Ng-option不起作用

时间:2017-03-08 18:30:12

标签: javascript jquery angularjs

我有一个场景,我会过滤并在选择框中将标题和ID显示为选项值。

我在ng-options中有一个if-else条件,它会处理是否显示标题。

现在面临一个问题,如果所选标题和之前选择的标题相同,则不会触发ng-change选项。

预期的输出应为。

  1. 如果json响应中有标题,则显示标题和ID。
  2. 如果标题不可用,则只显示id。
  3. 如果选定的标题和之前选择的标题相同,则将条件与ID匹配,并使用选定的标题和选定的ID显示下拉列表,并使用ng-select。
  4. 这就是我的尝试:

    HTML:

    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
    <div ng-app="app" ng-controller="ctrl">
      <select ng-model="model.selected" ng-options="item.Title as item.Title? (item.Title + '-' + item.ID) : ('' + item.ID) for item in items"></select>
      <p>Selected: {{model.selected}}</p>
    </div>
    

    JS:

    angular.module("app", [])
      .controller("ctrl", function($scope) {
    
        $scope.model = {
          selected: 'Chicago'
        }
        $scope.items = [{
            ID: '000.000.0001',
            Title: 'Chicago'
          },
          {
            ID: '000.000.0002',
            Title: 'Chicago'
          },
          {
            ID: '000.000.0003',
            Title: 'Washington'
          },
          {
            ID: '000.000.0004'
          }
        ];
      });
    

0 个答案:

没有答案