Как очистить значения выпадающих списков в angularjs - PullRequest
0 голосов
/ 20 февраля 2019

Я использую ng-repeat в HTML для зацикливания в массиве javascript.показывая этот массив в select.что я хочу сделать, это очистить все выбранные данные из этих выпадающих списков при нажатии на кнопку

HTML

<div class="widget-title">
                                <div class="widget-controls">
                                    <button class="btn btn-xs btn-primary" ng-click="newassignment()">New</button>
                                    <button class="btn btn-xs btn-success" ng-click="saveavd()">Save</button>
                                </div>
                                <h3><i class="icon-ok-sign"></i>Assignment</h3>
                            </div>
                            <div id="vacation" class="widget-content" style="height:81vh; overflow:auto;">
                                <div class="row">
                                    <table style="width: 70%;" border="1">
                                        <thead>
                                            <tr>
                                                <th>Departments</th>
                                                <th>Work Level</th>
                                            </tr>
                                        </thead>
                                        <tbody>
                                            <tr ng-repeat="d in departments | filter : depts">
                                                <td>
                                                    <input style=" margin-top: 0;" type="checkbox"  ng-model="d.details"/> {{d.Dep_LDesc}}
                                                </td>

                                                <td>
                                                    <select class="form-control input-sm" ng-model="wrklevel2">
                                                        <option ng-repeat="w in worklevel" value="{{w.lvlid}}">{{w.lvlnm}}</option>
                                                    </select>
                                                </td>
                                            </tr>
                                        </tbody>
                                    </table>

angularjs

 $scope.worklevel = [
        { lvlid: 1, lvlnm: 'First Level' },
        { lvlid: 2, lvlnm: 'Second Level' }
    ]

$scope.newassignment = function () {


            $scope.wrklevel2 = {};


        angular.forEach($scope.departments, function (d) {
            d.details = false;
        })
    }

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

У вас должны быть разные модели для ваших выборов внутри ng-repeat, чтобы добиться того, что вы можете попробовать следующее

( ng-model = "d.wrklevel2" )

<select class="form-control input-sm" ng-model="d.wrklevel2">
    <option ng-repeat="w in worklevel" value="{{w.lvlid}}">{{w.lvlnm}}</option>
</select>

после этого вы также можете очистить значения select внутри цикла forEach

angular.forEach($scope.departments, function (d) {
    d.details = false;
    d.wrklevel2 = undefined;
})
0 голосов
/ 20 февраля 2019

установить ngModel select в пустую строку -

function saveavd()
{
  $scope.wrklevel2 = ""
  // ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...