2014-11-12 2 views
0

Мой HTML:Populate выпадающий 2 с использованием dropdown1 в angularjs

<select ng-controller="category" ng-model="selectedTestAccount" ng-options="c.category for c in categories track by c.categoryID" ></select> 
<select ng-controller="subcatgory" ng-model="selectedTestAccount1" ng-options="c.subcategory for c in subcategories track by c.subcategoryID"></select> 

Мой JSON будет выглядеть следующим образом:

json1:

category: "Restaurants"categoryID: "1" 

json2:

category: "Restaurants"categoryID: "1"subcategory: "European"subcategoryID: "1" 
category: "Restaurants"categoryID: "1"subcategory: "Food Carts"subcategoryID: "17" 

я хочу два выпадающих списка. Один для первого json, который отобразит категории. при выборе первой категории я хочу, чтобы подкатегории были перечислены из второго json. Как сделать первое раскрывающееся меню обязательным. Может кто-нибудь HelpMe с этим

+0

Дайте мне несколько минут, просто создав решение! –

ответ

0

Так что я создал вам plnker

Ключ $watch который смотрит на выбранное значение (ng-model) первого списка затем изменяет значения для второго списка на основе этого нового значения.

$scope.$watch('selectedCategory', function(newValue) { 
    for (var i = 0; i < $scope.subCategories.length; i++){ 
    if ($scope.subCategories[i].name === newValue){ 
     $scope.selectedSubCategoryValues = $scope.subCategories[i].values; 
    } 
    } 
}); 
0

Вам просто нужно:

  1. добавить атрибут required на первом выберите
  2. положить пустой <option></option> внутри выберите (в противном случае выберите уже вариант по умолчанию, которые удовлетворяют требование)

Вот пример: http://jsfiddle.net/n5568q6o/1/

+0

Я хочу динамически выбирать выпадающие списки. то есть, если я выбираю категорию 2 в раскрывающемся списке 2, я хочу перечислить только подкатегории для этой конкретной категории – Jambu

0

Вы можете использовать часы для просмотра первого объекта. Если это изменение изменит массив для второго. Это изменит параметры в соответствии с параметрами, которые вы хотите для этого.

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