gpt4 book ai didi

angularjs - 使用ng-repeat生成选择选项(附Demo)

转载 作者:行者123 更新时间:2023-12-02 20:49:30 25 4
gpt4 key购买 nike

Controller :

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

这是在 View 中:

<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”是我的模型。


表达式内的表达式(Angular)

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

e.g: {{Array[{{val}}]}}.

已经尝试过这个:

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

问题出在 View 中,“变量”显示为字符串

(vm.areas[0].name)

它没有得到该查询的值(value)。

最佳答案

不是正确的使用方式 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指示。 select directive自动处理。 ng-model指令接收或设置所选选项。

参见:


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>

关于angularjs - 使用ng-repeat生成选择选项(附Demo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42794759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com