【发布时间】:2015-10-19 02:46:45
【问题描述】:
我很难让两种方式绑定为 SELECT 元素工作。我正在尝试以编程方式更改选定的元素。我找到了几个 Stackoverflow 示例,用于绑定 SELECT 的更改事件,但我并没有很多人采用其他方式,您的应用程序代码会更改所选元素。
我发现有一些在 OPTION 元素上使用 ng-repeat 但我 a) 无法让它工作,并且 b) 似乎不是“Angular 方式” .
HTML 代码:
<div ng-controller="SIController">
<select id="current-command" ng-model="currentCommand"
ng-options="c as c.label for c in availableCommands track by c.id"></select>
<button ng-click="changeSelectedOption()">Select "open"</button>
控制器代码:
var myApp = angular.module('myApp', []);
function SIController($scope) {
$scope.availableCommands = [
{id: 'edit', label: 'Edit'},
{id: 'open', label: 'Open'},
{id: 'close', label: 'Close'}
];
$scope.currentCommand = "close";
$scope.changeSelectedOption = function() {
$scope.currentCommand = 'open';
};
};
我可以验证单击按钮时 $scope.currentCommand 正在更改,但似乎没有选择 OPTION。
【问题讨论】:
标签: javascript angularjs angularjs-ng-model angularjs-ng-options