#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, устарела.