Angularjs - 从下拉列表级联中选择的捕获选项

时间:2014-12-12 06:40:03

标签: angularjs capture cascade

我有一个选择级联,但我目前无法捕获第一个选定的选项,只有第二个选择之一。 我希望捕获用户在更改第二个选择时选择的两个选项,因此我可以将此信息发送到异步请求。

HTML code:

<!DOCTYPE html>
<html ng-app>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.27/angular.min.js"></script>
    <script>
        function ListDropdown($scope){
            $scope.ccvms={lista01:['1','3','5','7','9'],lista02:['2','4','6','8','10']}
            $scope.send=function(x){
                console.log(x)
            }
        } 
    </script>
</head>

<body>
    <div ng-controller="ListDropdown">
        <select ng-model="nums" ng-options="ccvm for (ccvm, nums) in ccvms"></select>
        <select ng-disabled="!nums" ng-model="num" ng-options="num for num in nums" ng-change="send(num)"></select>
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

您需要将第一个选择的模型作为键(而不是值),然后使用obj[key]作为第二个ng-options的来源。

<select ng-model="ccvm" 
        ng-options="ccvm as ccvm for (ccvm, nums) in ccvms"></select>

<select ng-model="num"
        ng-disabled="!ccvm" 
        ng-options="num for num in ccvms[ccvm]" 
        ng-change="send(num, ccvm)"></select>