0

Web ページに 2 つの選択ボックスがあり、最初の状態から状態が選択されたら、Angular を使用して 2 番目のオプションを読み込みます。ページが最初に読み込まれると、2 番目の選択ボックスには 1 つの項目が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 に答える