2

我想动态管理一个选择标签下的选项数量,并在更新选项后自动选择最后添加的选项。
这是我尝试过的:

<!DOCTYPE html>
<html ng-app="plunker">

  <head>
    <meta charset="utf-8" />
    <title>AngularJS Plunker</title>
    <script>
      document.write('<base href="' + document.location + '" />');
    </script>
    <link rel="stylesheet" href="style.css" />
    <script data-require="angular.js@1.0.x" 
            src="http://code.angularjs.org/1.0.7/angular.min.js" 
            data-semver="1.0.7"></script>
    <script src="app.js"></script>
  </head>

  <body ng-controller="MainCtrl">
    <select ng-model="selectedOption">
      <option value="">-----Select an option-----</option>
      <option ng-repeat="option in options" value="{{option.value}}">
        {{option.name}}
      </option>
    </select>
    <button ng-click="addOption()">Add option</button>
  </body>

</html>

添加选项时,选择会切换到不存在的值。似乎选择值更新在选项更新之前已解决。

有谁知道我该如何解决这个问题?

4

1 回答 1

1

您声明:我想动态管理一个选择标签下的选项数量,并在更新选项后自动选择最后添加的选项。

您可以通过像这样更改您的 HTML 来做到这一点(评论后编辑):

<option ng-repeat="option in options" value="{{option.value}}" ng-selected="option.value==options.length-1"> {{option.name}}</option>

有关ng-selected 指令的更多信息

您随附的 js 中的第 19 行也应删除 - 此行当前如下所示:

    $scope.selectedOption = $scope.options.length - 1;
于 2013-06-03T15:19:04.003 回答