AngularJs ::在DropDown中基于其他Dropdown加载数据

时间:2013-09-20 22:25:26

标签: javascript jquery angularjs drop-down-menu angularjs-controller

在AngularJS的第一个下拉列表中加载数据,然后在此下拉列表的基础上我希望使用来自另一个控制器的数据生成下一个下拉列表

<ul data-role="listview" data-inset="true">
            <li ng-controller="exerciseCatagoryCtrl">
                <span>Catagory</span>
                <select id="exerciseSuperCategory" data-role="listview" ng-options="catagory as catagory.text for catagory in catagories.cast " ng-model="item" ng-change="update()">
                </select>
            </li>
        </ul>

在JS中

    var myApp = angular.module('myApp', []);

    myApp.factory('catagories', function () {
    var catagories = {};
    catagories.cast = [{
            value : "exeCatagory_001",
            text : "Indoor"
        }, {
            value : "exeCatagory_002",
            text : "Outdoor"
        }
    ];
    return catagories;
})

myApp.controller('exerciseCatagoryCtrl', function ($scope, catagories) {
    $scope.catagories = catagories;
    $scope.update = function () {
    alert($('#exerciseSuperCategory option:selected').text());
    }
});

所以现在根据这个文本进入ng-change事件我想从不同的控制器获取数据 说其他控制器是

 myApp.factory('types', function () {
    var types = {};
    types.cast = [{
            value : "exeCatagory_001",
            text : "Gym"
        }, {
            value : "exeCatagory_002",
            text : "Sports"
        }
    ];
    return types;
})

myApp.controller('exerciseTypeCtrl', function ($scope, types) {
    $scope.types = types;
    $scope.update = function () {
    alert("Index Changed");
    }
});

所以我希望其他下拉列表中的这些数据是用户从第一个下拉列表选择室外 我尝试了不同的方法,但他们没有工作 如果用户选择室内,则会有另一个控制器

0 个答案:

没有答案