0

我的网页上有两个选择框,当从第一个选择状态时,我使用 Angular 加载第二个的选项。当页面第一次加载时,第二个选择框有一个项目,Select state...在第一个项目更改后,我希望它更改为 just Select...

是否可以通过 Angular 访问 DOM 元素以进行此更改,或者我必须像在此示例中那样使用完整的 jQuery 选择器:

$scope.$watch('state', function() {
    $http.get('institutions?state=' + $scope.state).success(function(institutions) {
        $scope.institutionOptions = institutions;

        // Would like to avoid this jQuery selector if possible...
        $('[name=institution_id] option:first').html('Select...');
    });
}, true);
4

2 回答 2

2

我认为您应该尽可能坚持数据绑定。绑定到$scope.message

js:

$scope.message = "initial message"

html:

<select ng-model="selected" ng-options="c.o for c in options">
  <option value="">{{message}}</option>
</select>

当您收到数据时,只需更改message

$scope.message = "select...";
$scope.options = [{o:"option1"},{o:"option2"}, {o:"option3"} ]

看到这个插件: http ://plnkr.co/edit/DzC5V3tlEuKZHsEVxIBx?p=preview

于 2013-07-18T03:01:11.570 回答
1

您可以使用angular.element api。如果存在,它使用 jquery。

但是你不应该访问控制器内部的 DOM。如果不操作 DOM 就无法做到这一点,请尝试将此代码封装在指令中。

于 2013-07-18T02:45:32.860 回答