当前位置: 首页 > 面试题库 >

AngularJs-SELECT中的ng模型

柯易安
2023-03-14
问题内容

JS小提琴

问题:

我的页面中有一个SELECT元素,其中填充了ng-repeat。它还具有一个ng-model具有默认值的。

当我更改值时,可以ng-model适应。但是下拉列表在启动时显示了一个空插槽,应该在其中选择了具有默认值的项目。

<div ng-app ng-controller="myCtrl">
    <select class="form-control" ng-change="unitChanged()" ng-model="data.unit">
         <option ng-repeat="item in units" ng-value="item.id">{{item.label}}</option>
    </select>
</div>

使用JS:

function myCtrl ($scope) {
    $scope.units = [
        {'id': 10, 'label': 'test1'},
        {'id': 27, 'label': 'test2'},
        {'id': 39, 'label': 'test3'},
    ]

        $scope.data = {
        'id': 1,
        'unit': 27
        }

};

问题答案:

您可以在选项元素上使用ng-
selected
指令。它表达了如果诚实将设置所选属性。

在这种情况下:

<option ng-selected="data.unit == item.id" 
        ng-repeat="item in units" 
        ng-value="item.id">{{item.label}}</option>

演示版

angular.module("app",[]).controller("myCtrl",function($scope) {

    $scope.units = [

        {'id': 10, 'label': 'test1'},

        {'id': 27, 'label': 'test2'},

        {'id': 39, 'label': 'test3'},

    ]



        $scope.data = {

        'id': 1,

        'unit': 27

        }



});


<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app" ng-controller="myCtrl">

    <select class="form-control" ng-change="unitChanged()" ng-model="data.unit">

         <option ng-selected="data.unit == item.id" ng-repeat="item in units" ng-value="item.id">{{item.label}}</option>

    </select>

</div>


 类似资料:
  • 我在其他的帖子里读到过,但我想不通。 我读过select也试过,但我想不通。

  • 本文向大家介绍AngularJS实现select的ng-options功能示例,包括了AngularJS实现select的ng-options功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了AngularJS实现select的ng-options功能。分享给大家供大家参考,具体如下: controller html 实现的DOM 可以用ng-change事件监控来看看输出的是什么

  • ng-select 是 Angular 6+ 原生的下拉框组件。 主要特性:  自定义属性和对象的绑定  自定义选项、文本标签、头部和底部模板  虚拟滚动支持,用于处理超过 5000 个条目的数据集  无限滚动  键盘访问  多选项支持  灵活的自动完成,支持客户端和服务器端的过滤  自定义搜索  自定义标签  条目追加  条目分组  输出事件  五障碍使用  良好的测试  支持不同主题

  • 问题内容: 我正在尝试使用AngularJS 1.1.5的ng- repeat从选择框开始使用预填充选项。相反,选择始终始于未选择任何内容。它还有一个空选项,我不想要。我认为没有选择任何东西都会带来副作用。 我可以使用ng-options代替ng-repeat来工作,但在这种情况下我想使用ng- repeat。尽管我缩小的示例没有显示出来,但我也想设置每个选项的title属性,据我所知,没有办法使

  • 问题内容: 我正在使用AngularJS构建动态Web应用程序。一个模板上可以有多个模板吗? 问题答案: 您只能拥有一个。 您可以通过多种方式改变其内容:,或者通过routeProvider映射不同的控制器和模板。

  • 主要内容:使用 ng-options 创建选择框,ng-options 与 ng-repeat,应该用哪个更好?,数据源为对象AngularJS 可以使用数组或对象创建一个下拉列表选项。 使用 ng-options 创建选择框 在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,如下实例: 实例 <div ng-app="myApp" ng-controller="myCtrl"> <select ng-init="selectedN