отменить выбор select2 в angularjs

#angularjs #select2

#angularjs #jquery-select2

Вопрос:

Я использую https://github.com/angular-ui/ui-select2/blob/master/src/select2.js для работы над select2 с angularjs. Существует кнопка для сброса select2 (т.е. Установки заполнителя). При нажатии кнопки я должен вызвать функцию из контроллера angular. В этой функции я должен сбросить select2. Я не знаю, как это сделать. Я новичок в angularjs. Поэтому я не могу понять директиву. Если кто-нибудь знает решение с объяснением, это будет оценено по достоинству.

Вот мой код до сих пор,

HTML

 <select class="form-control" ui-select2="select2Options" id="ddlTechnology" name="ddlTechnology" ng-model="technology" ng-change="changeData('technology', technology)" ng-options="tech as tech.st_name for tech in technologies" style="width: 100%;">
    <option value=""></option>
</select>
<button ng-click="resetSearch()">Reset</button>
  

JS

 $scope.technologies = [{
    $hashKey: "object:14",
    in_technology_id: 1,
    st_name: "Networking"},
    {},
    {},
    ...
];
$scope.resetSearch = function () {
    $("#ddlTechnology").select2('val', '');
}
  

Комментарии:

1. Не могли бы вы предоставить массив технологий, который вы перечисляете в параметрах

2. @Vikash, пожалуйста, посмотрите обновление. Я добавил массив технологий

3. Вы пробовали решение, упомянутое ниже

Ответ №1:

Идея здесь в том, чтобы сделать вашу ng-модель пустой при сбросе. И согласно документации ui-select2 несовместим с. <select ng-options> Для достижения наилучших результатов используйте <option ng-repeat> . Пожалуйста, найдите рабочий plunker Plunker — UI Select2 с сбросом

 $scope.resetSearch = function () {
    $scope.technology = '';
}
  

Но я бы настоятельно рекомендовал вам использовать https://github.com/angular-ui/ui-select поскольку ссылка, упомянутая вами для select2, устарела.