2014-12-18 4 views
0

Как создать выпадающий список с использованием двух массивов, один для значений и один для текста?Выберите меню, используя два массива

var values = [10, 25, 50, 100]; 
    var text = ['ten', 'twenty-five', 'fifty', 'hundred']; 

Так что я бы тогда получим следующее выбрать:

<select> 
    <option value="10">ten</option> 
    <option value="25">twenty-five</option> 
    <option value="50">fifty</option> 
    <option value="100">hundred</option> 
</select> 
+0

Просто, чтобы убедиться, что вы имеете в виду, как вы могли бы сделать это программно с помощью Угловая? – ryanyuyu

+0

Да, в идеале в надбавке. Я предполагаю, мне нужны 'ng-repeat' или' ng-options'. –

+0

Итак, вы не можете изменить код контроллера вообще? – GregL

ответ

4

Вы можете сделать то, что некоторые, как это, но тот совершенно не имеет значения логики ваш

<select> 
    <option ng-repeat="t in text" value="{{values[$index]}}">{{t}}</option> 
</select> 

Вы можете изменить его некоторые вещи, подобные этому, также делают один ассоциативный массив или объект, например

$scope.values = {"10":"ten", "25":"twenty-five","50":"fifty", "100":"hundred"}; 

Demo

app = angular.module('test',[]); 
 
app.controller('testctrl',function($scope){ 
 
$scope.values = {"10":"ten", "25":"twenty-five","50":"fifty", "100":"hundred"}; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-controller="testctrl" ng-app="test"> 
 
    
 
<select> 
 
    <option ng-repeat="(key,val) in values " value="{{key}}">{{val}}</option> 
 
</select> 
 
    </div>

+0

Да, я понимаю, что было бы разумнее иметь массив объектов, который имел бы значение и текст. Тем не менее, я застрял с этими двумя массивами. –

+0

вы можете попробовать и пройти через это после оптимизации вашей логики :) –

+0

вы знаете, что повторяете все 'select', а не' options' право? –

Смежные вопросы