Создайте уведомление о подтверждении для кнопки удаления в Angular с помощью JS
У меня есть форма, в которой есть кнопка удаления, я бы хотел создать окно подтверждения, которое появляется при нажатии кнопки удаления. Кнопка удаления в настоящее время работает. Я пробовал несколько вещей в javascript без везения. Я использую Angular.
Это лучший подход для этого?
Кроме того, кто-нибудь знает о каких-либо примерах для этого, я не нашел никакой этой работы.
$(document).ready(function(){
$("form").validate();
$(".radius small success button").ConfirmDialog('Are you sure?');
});
Ответы
Ответ 1
Похоже, что директива AngularJS немного перегружена для решения этой проблемы. Кажется, проще просто использовать прямой javascript, если вам не нужна какая-то пользовательская функциональность для вашей функции "confirm()".
if (confirm('Are you sure you want to delete this?')) {
// TODO: Do something here if the answer is "Ok".
}
Надеюсь, это поможет, приветствия
UPDATE: на самом деле, с Angular, было бы лучше использовать $window.confirm, поскольку это позволит вам тестировать с помощью Karma/Jasmine.
Ответ 2
Здесь другой подход.
В основном это директива, которая получает строку предупреждения, которую вы хотите показать, и функцию для вызова, если пользователь принимает. Пример использования:
<button type="button" ng-really-message="Are you sure?"
ng-really-click="delete()">Delete</button>
Ответ 3
Вот как мы обрабатываем наши "диалоговые окна подтверждения" (используя загрузку)
Разметка
<div class="alert alert-block alert-error notification fade in" data-ng-show="displayLocationDeletePopup">
<h6>Are you sure you want to delete this location?</h6>
<div class="form-controls-alert">
<a href="" class="btn" data-ng-click="showDeleteLocationPopup(false)">No</a>
<a href="" class="btn btn-danger" data-ng-click="deleteVendorLocation(locationId)">Yes</a>
</div>
</div><!-- end alert -->
Установка модели на false при загрузке контроллера для скрытия по умолчанию с помощью ng-show
$scope.displayLocationDeletePopup = false;
При нажатии на событие для всплывающего окна вызывается функция/передает модель в
<i class="icon-remove" data-ng-click="showDeleteLocationPopup(true, location)"></i>
В контроллере:
$scope.showDeleteLocationPopup = function(options, id) {
if (options === true) {
$scope.displayLocationDeletePopup = true;
} else {
$scope.displayLocationDeletePopup = false;
}
$scope.locationId = id;
};
И для привязок в html выше, может либо закрыть всплывающее окно, либо запустить функцию
$scope.deleteVendorLocation = function (storeLocation) {
// Code to run on confirmation
};
Ответ 4
var r = confirm("Are you sure you want to Permanently delete this order?");
if (r == true) {
(OK button click) Write the function here.....
} else {
(Cancle button click) Write the function here.....
}
Ответ 5
Установите флажок "Удалить" в правой части каждой записи и нажав кнопку "Удалить", запись должна быть удалена из деталей и массива JSON.