我有两个选择列表HTML。 我怎么能让他们轻松相关?我的意思是当我从第一个选择中选择选项时,第二个选择中的某些选项会显示为隐藏? 选择由PHP创建的列表HTML。
答案 0 :(得分:1)
使用角度有几种方法。一种方法是使用ng-change:
<select ng-model="selectedItem1" ng-options="item in items1" ng-change="update(selectedItem1)"></select>
然后让update(selectedItem1)函数更新你的items2列表。反之亦然,你的物品2下拉。
$scope.update = function(selectedItem1) {
$scope.items2 = // logic to filter items 2 based on selectedItem1
}
<select ng-model="selectedItem2" ng-options="item in items2" ng-change="updateSet1(selectedItem2)"></select>
或者,你可以使用$ watch函数来观察此函数中的selectedItem1和更新items2列表。
如果您需要使用自定义过滤器,请参阅此处: https://docs.angularjs.org/tutorial/step_09
angular.module('myModule', []).filter('items2', function() {
return function(selectedItem1, items2) {
for (var i = 0; i < items2.length; i++) {
// return items you want
}
};
});
然后在您的控制器中,通过附加Filter将此过滤器包含为依赖items2Filter,您可以像这样更新$ scope.items2:
$scope.items2 = items2Filter($scope.selectedItem1, $scope.items2);