【问题标题】:Change selected option on an event in AngularJs更改 AngularJs 中事件的选定选项
【发布时间】:2014-04-21 10:45:36
【问题描述】:

我是 AngularJs 的新手,我正在尝试在更改其他选择框时更改选择框的选定选项。

所以有 2 个这样的选择框:

<select class="form-control" id="select-01new" ng-model="applicationOption" ng-change="AppChange(applicationOption)">
<option value="">Please Select</option>
<option ng-repeat="act in applicationOptions" value="{{act._id}}">{{act.name}}</option>
</select>

<select data-ng-model="posture.Value" id="scurityPosture" data-ng-options="act as act for act in activities" class="form-control">                
</select>

这里是控制器:

 sampleApp.controller('CreateAppController', function ($scope, AppDataService) {
    $scope.posture = {
            name: "Dani",
            Value: "Low"
        };
        $scope.activities =
        [
            "High",
            "Medium",
            "Low"

        ];
$scope.AppChange = function () {
        AppDataService.save($scope.applicationOption).then(
            function (datac) { 
                $scope.posture = { name: "Dani", Value: "High" }; 
            });
    }

    });

你可以看到,第一个选择框上有ng-change。每当我们更改第一个选择框的选项时,控制器中定义的函数就会运行。在该函数中,第二个选择框的值发生了变化。但是那部分功能不起作用。

请帮我整理一下。 提前致谢。

【问题讨论】:

  • 请准备一个小提琴...

标签: angularjs


【解决方案1】:

每当您更改第一个选择框时,都会执行 AppChange 方法,触发 AppDataService 中的“保存”方法。在这里,promise 对象通过 'then' 方法 (see $q service documentation) 访问 AJAX 调用的结果:

then(successCallback, errorCallback, notifyCallback) – 不管 当承诺已经或将要解决或拒绝时,然后调用一个 成功或错误回调在结果后立即异步 可用。

在上面的控制器中,你只提供了成功回调,而你可能有错误,你的成功代码不会被执行。

您应该首先检查是否执行了成功回调,然后进一步调试。我的猜测是您从服务器收到一些错误,并且您永远不会达到成功状态。

【讨论】:

    猜你喜欢
    • 2020-06-29
    • 1970-01-01
    • 2021-11-11
    • 2015-06-06
    • 1970-01-01
    • 2015-10-05
    • 2012-09-26
    • 1970-01-01
    • 2017-08-01
    相关资源
    最近更新 更多