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

使用ng-repeat生成选择选项(带有演示)

葛成济
2023-03-14
问题内容

控制器:

$scope.send_index = function(event, val){ 
    console.log(val);
    $scope.variable = 'vm.areas['+val+'].name';
    console.log( $scope.variable ); 
};

这是在视图中:

<select ng-model="vm.areas">
    <option ng-repeat="area in vm.areas"  ng-value="area" id="{{area}}" ng-click="send_index($event, $index)">{{area.name}}
</select>
<input value="{{variable}}">

其中“ vm”是我的模型。

表达式内部的表达式(角度)

我的问题是我需要拥有一个{{array []}},并将索引作为另一个表达式,

例如:{{Array [{{val}}]}}。

已经尝试过:

 $scope.variable = ''+'vm.areas['+val+'].name'+'';

问题在于视图中,“变量”显示为字符串

(vm.areas [0] .name)

它没有得到那个查询的勇气。


问题答案:

这是不正确的使用方法ng-model<select>在AngularJS元素:

<!-- ERRONEOUS
<select ng-model="vm.areas">
    <option ng-repeat="area in vm.areas"  ng-value="area" id="{{area}}" ng-click="send_index($event, $index)">{{area.name}}
</select>

<input value="{{variable}}">
-->

无需使用该ng- click指令。该选择指令自动处理这一点。该ng- model指令接收或设置所选选项。

看到:

  • 使用ng-repeat生成select选项
  • 使用select ng-options和设置默认值
angular.module('ngrepeatSelect', [])

  .controller('ExampleController', ['$scope', function($scope) {

    $scope.data = {

     model: null,

     availableOptions: [

       {id: '1', name: 'Option A'},

       {id: '2', name: 'Option B'},

       {id: '3', name: 'Option C'}

     ]

    };

 }]);


<script src="https://unpkg.com/angular/angular.js"></script>

<div ng-app="ngrepeatSelect">

  <div ng-controller="ExampleController">

  <form name="myForm">

    <label for="repeatSelect"> Repeat select: </label>

    <select name="repeatSelect" id="repeatSelect" ng-model="data.model">

      <option ng-repeat="option in data.availableOptions" value="{{option.id}}">{{option.name}}</option>

    </select>

  </form>

  <hr>

  <tt>model = {{data.model}}</tt><br/>

</div>


 类似资料:
  • 问题内容: 我有一张表的ng- repeat,我希望能够在单击时添加一个类,而在未单击时删除该类。可以同时选择多个。目前,所有城市都在或不在接受该课程的申请。 例如:(假设节点有100个项目) 在我的JS中 问题答案: 现在,您要更改的作用域上只有一个属性,所有内容都引用该属性。尝试放到节点上… 而在…

  • 问题内容: 我已经建立了一个json,其中包含ID和国家/地区代码附加的国家/地区列表: 看起来像这样: 然后,我使用指令为每个国家/地区创建复选框输入。 但是,当我运行代码时,只能显示以下内容: 此处的位置复选框 如果删除重复部分,我的复选框会很好,但是我需要在每个复选框上附加一个唯一的 我将如何附加一个独特的价值? 此答案(在ng-repeat内生成ng-mode)未提供唯一值 问题答案: 我

  • 问题内容: 我有一个使用AngularJS ng- repeat通过选择创建的列表框。正确创建了列表框,当我选择其中一项并单击我的按钮时,我进入了该功能并获得了所需的信息。 我的html代码如下: 我的问题是,在绘制列表框时,它的顶部有一项是空白的。在Chrome运行过程中检查列表框时,在控制台中获得以下输出: 我想知道如何摆脱ng-repeat插入的第一个选项。我不想在列表框的顶部看到空白。我意

  • 问题内容: 我想使用Selenium WebDriver 获取选定的标签* 或 下拉列表的 值,然后在 控制台 上 打印 它。 * 我可以从下拉列表中选择任何值,但是我无法检索所选值并进行打印: 但是我所有的努力都是徒劳的。如何获得所选的选项? 问题答案: 您应该能够使用来获取文本(对于使用的option元素):

  • 我希望,如果我选择“mammals”,动物选择选项只显示值为1的选项data-animal_class。 我知道如何获得哺乳动物值,但我不知道如何使用过滤器 这是我的代码:

  • 问题内容: 我正在尝试以减轻痛苦的适当方式进行操作,但是我无法弄清楚如何处理ng-model并将其绑定到所选列表等,而且我需要在以后填充该列表并保留所选对象在里面。 每次填充列表时,我都必须覆盖类别,因为它将从服务器中拉出。 所以我想我需要数组,第二个数组将容纳所选对象? 如果我是对的,如何预选复选框? 我是否需要ng-click命令调用自定义函数才能将所选对象存储在另一个数组中? 我需要在复选框