javascript - 如何访问 AngularJS 中组合框的选定元素?

标签 javascript html angularjs combobox

我将一个数组放入组合框中,并希望在按下按钮时删除标记的元素(通过单击组合框中的元素选择)。我如何访问所选元素?

我的html:

<div ng-controller="MyCtrl">
<select size="5">
    <option ng-repeat="element in elements">{{element}}</option>    
</select>
<button ng-click="removeSelected()">Delete selected</button>   

我的js:

function MyCtrl($scope) {
    $scope.elements = [1, 2, 3];
    $scope.removeSelected = function () {};
}

这是我的 Fiddle .

最佳答案

您需要使用ng-options而不是 ng-repeat

ng-options 是一个应用于父选择元素的指令,如下所示:

<select ng-options="element for element in elements" ng-model="selected">
</select>

然后,您可以继续通过 select 元素的 ng-model 访问事件选择,在本例中为 selected - 并将其删除,如下所示:

$scope.removeSelected = function(){
    var index = $scope.elements.indexOf($scope.selected);
    $scope.elements.splice(index, 1)
};  

Updated fiddle.

关于javascript - 如何访问 AngularJS 中组合框的选定元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30144887/

相关文章:

javascript - 单击扩展鼠标打开本地 .html

javascript - jquery 中 css 中的警报框

javascript - 从 AngularJS Controller 中的嵌套 json 获取父数据

javascript - angular2 zone.js 进行自动 sock.js 调用

javascript - 有没有一种有效的方法来区分由 `npm list` 填充的两个依赖关系树?

html - 为什么 svg 的包含 div 占用更多空间

javascript - 选择一次后,Ionicpopup 自动光标就会消失

javascript - JS : Cannot set property of undefined

Javascript 闭包作用域问题

javascript - Angular 表 ng-repeat