ОБНОВЛЕНИЕ: Извините, я должен был сделать это более ясным, но я также хотел, чтобы если я выбирал из "раскрывающегося списка 1" значение, отличное от null
, мой < strong>таблица 2 автоматически исчезает b/c Я хочу видеть только таблицу 1, когда использую раскрывающийся список 1. То же самое для "раскрывающегося списка 2". Если я выберу любые ненулевые значения из раскрывающегося списка 2, моя таблица 1 исчезнет, и я увижу только таблицу 2. Я также обновил свой Fiddle здесь https://jsfiddle.net/missggnyc/4vod1L9g/7/ и таблицы скрываются, если выбраны значения null
из выпадающего списка. Все, что мне нужно сейчас, это как показать ту или иную таблицу в зависимости от того, какой выпадающий список я использую.
ИСХОДНОЕ СООБЩЕНИЕ: я немного запутался в том, как использовать ng-show
или ng-change
для отображения двух разных таблиц в зависимости от выбора пользователя с двумя различиями. выпадающие списки.
Вот сценарий:
Пока пользователь не выбирает SELECT YOUR ANSWER
со значением null
в обоих раскрывающихся списках, у меня есть фильтр, который выполняет сравнение строк и фильтрует по цвету. Это то, что я хочу сделать.
Пользователь выбирает из «раскрывающегося списка 1»
- показать таблицу 1 с отфильтрованными результатами, если пользователь не выбрал «ВЫБЕРИТЕ ОТВЕТ» с нулевым значением
- если пользователь выбирает "ВЫБЕРИТЕ ОТВЕТ", то таблицы не отображаются
- скрыть таблицу 2, пока выбирается «выпадающий список 1»
Пользователь выбирает из «раскрывающегося списка 2»
- показать таблицу 2 с отфильтрованными результатами, если пользователь не выбрал «ВЫБЕРИТЕ ОТВЕТ» с нулевым значением
- если пользователь выбирает "ВЫБЕРИТЕ ОТВЕТ", то таблицы не отображаются
- скрыть таблицу 2, пока выбирается «выпадающий список 1»
Я не понимаю, как использовать ng-show или ng-change в моем случае. Какие-либо предложения?
HTML
<div ng-app="myColors">
<div ng-controller="cController">
<h3>drop down 1</h3>
<select ng-model="selectedAnswer1" ng-options="c.cat for c in mySelection1" ng-change=""></select>
<pre>{{selectedAnswer1}}</pre>
<h3>drop down 2</h3>
<select ng-model="selectedAnswer2" ng-options="c.cat for c in mySelection2"></select>
<pre>{{selectedAnswer2}}</pre>
<hr>
<h4>
table 1
</h4>
<table>
<tr>
<td>ID</td>
<td>Category</td>
</tr>
<tr ng-repeat="f in fruit">
<td>{{f.id}}</td>
<td>{{f.f_category}}</td>
</tr>
</table>
<h4>
table 2
</h4>
<table>
<tr>
<td>Car</td>
</tr>
<tr ng-repeat="c in car">
<td>{{c.category}}</td>
</tr>
</table>
</div>
</div>
JS
var app = angular.module("myColors", []);
app.controller("cController", function($scope) {
$scope.mySelection1 = [
{"cat": "SELECT YOUR ANSWER", "value": null},
{"cat": "YELLOW", "value": "yellow"},
{"cat": "ORANGE", "value": "orange"}
];
$scope.mySelection2 = [
{"cat": "SELECT YOUR ANSWER", "value": null },
{"cat": "GREEN CAR", "value": "green"},
{"cat": "BLUE CAR", "value": "blue"}
];
$scope.fruit = [{
"id": "red",
"f_category": ["Apple", "Strawberry", "Pineapple"]
}, {
"id": "yellow",
"f_category": ["Banana", "Pineapple"]
}, {
"id": "orange",
"f_category": ["Peach", "Nectarine"]
}];
$scope.car = [{
"name": "yellow",
"category": ["SUV", "Truck"]
}, {
"name": "blue",
"category": ["Van"]
}, {
"name": "orange",
"category": ["Mini-Van"]
}];
});