Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.02.2016, 19:06
Интересующийся
Отправить личное сообщение для Antares_POV Посмотреть профиль Найти все сообщения от Antares_POV
 
Регистрация: 28.01.2016
Сообщений: 10

Модальное окно в Angular Js!!! Не выходит:(!!
Здравствуйте друзья. Нужна ваша помощь.
У меня есть задача. Есть телефонный справочник. Заполняется форма данные нажатием кнопки добавляются в таблицу списков контактов.
есть кнопка удаления и редактирования контактов.
Нужно при удалении контакта сделать дополнительную проверку "Вы точно хотите удалить контакт?".
Например как с помощью confirm- "да"- удаляем(срабатывает кнопка удалить), "отмена"-закрываем модальное окно.
Есть ли какие то решения (простые).
Это решение далеко не простым:
https://github.com/angular-ui/bootst...ster/src/modal

Может как то можно привязать confirm?

Если так:
$scope.deletePerson = function( id ) { $scope.contactlist .splice( id, 1 ); $scope.contactlist .splise( (confirm('Ви впевнені що хочете видалити контакт?')));
}
то просто срабатывает confirm и при нажатии любой кнопки просто выполняется удаление контакта .


Или же есть какие то простые решения от Angular??
Делаю просто для себя, учусь!!!!
Спасибо!!!
Ответить с цитированием
  #2 (permalink)  
Старый 15.02.2016, 07:31
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Там же пример есть. В чем сложность?
Для ангулар есть еще такой Ui https://material.angularjs.org/latest/
На крайняк конечно можно jquery ui подключить (там есть jquery-dialog).
Ответить с цитированием
  #3 (permalink)  
Старый 27.02.2016, 16:48
Интересующийся
Отправить личное сообщение для Antares_POV Посмотреть профиль Найти все сообщения от Antares_POV
 
Регистрация: 28.01.2016
Сообщений: 10

Здравствуйте. Поздно прочитал ваш комментарий.
Спасибо.
Написал вот так. С помощи bootstrap.
При нажатии на кнопку окно появляется но при этом контакт удаляется, кнопка подтвердить не активна. Пока разбираюсь. (((
Ответить с цитированием
  #4 (permalink)  
Старый 27.02.2016, 16:49
Интересующийся
Отправить личное сообщение для Antares_POV Посмотреть профиль Найти все сообщения от Antares_POV
 
Регистрация: 28.01.2016
Сообщений: 10

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Телефонна книгаp</title>
<meta charset="utf-8">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script type="text/javascript" src="jquery-1.7.2.min.js" ></script>
<script src="jquery.maskedinput.js" type="text/javascript"></script>
<script type="text/javascript" src="bootstrap-modal.js" ></script>

<style type="text/css">
body{
background-image: url(ava7.png);
}

table {
background-color: rgba(169, 169, 169, 0.53);
}
form {
max-width:1100px;
margin: 0 auto;
padding-top: 20px;
position: relative;
}
input[required].ng-pristine {
border-color: #337AB7;
}
input.ng-dirty {
border-color: #337AB7;
}


input.ng-invalid{
border-color: red;
}
input.ng-valid.ng-dirty{
border-color: green;
}
form[novalidate] input {
border-left-width: 8px;
border-color: #337AB7;
border-style: solid;
}

#inputHover:hover{
background-color: #36ee9d;
}
#phone1:hover{
background-color: #36ee9d;
}

</style>

<script type="text/javascript">
var app = angular.module( 'app', [ ] )
.controller('contactlistCtrl', function( $scope ){ <!--задаємо контролер з назвою contactlistCtrl -->
$scope.newPersonId = -1; <!-- змінна яка буде показувати які дані зараз розміщені в формі, -1 нові дані -->
$scope.contactlist = [ <!-- масив -->
{ <!-- створюємо масив даних з даними абонента -->
name: 'Білл Гейц',
phone: '+545-6546-5466',
email: 'Bill@gmail.com'
}
];
$scope.addNewPerson = function() { <!-- добавимо дані нових абонентів -->
if ( $scope.name != '' ) { <!-- перевыряэмо що $scope не пустий без цієї перевірки при натисненні на кнопку "Добавити" буде добавлятися пусте поле-->
$scope.contactlist .push({ <!-- push добавляє дані елемента в кінець масива-->
name: $scope.name,
phone: $scope.phone,
email: $scope.email
});
$scope.name = ''; <!-- обнулити поле введення -->
$scope.phone = ''; <!-- обнулити поле введення -->
$scope.email = ''; <!-- обнулити поле введення -->
} <!-- -->
}
$scope.savePerson = function() { <!-- зберегти редаговані дані -->
if( $scope.newPersonId > -1 ){ <!-- робимо перевырку що це новий контакт. -1 --це новий контакт, значення "від 0 зайнято" -->
var id = $scope.newPersonId; <!--щоб скоротити запис, змінній id присвоюємо значення $scope.newPersonId -->
$scope.contactlist [id].name = $scope.name; <!-- замінюємо дані на ті що вводяться в інпути -->
$scope.contactlist [id].phone = $scope.phone; <!--те саме для "phone" -->
$scope.contactlist [id].email = $scope.email;

$scope.name = ''; <!-- обнулити поле введення після кліка по кнопці збереження змінених даних -->
$scope.phone = ''; <!-- після того як дані добавлені очищаємо input -->
$scope.email = '';
$scope.newPersonId = -1;
}
}
$scope.editPerson = function ( id ) {
$scope.newPersonId = id; <!-- присвойили дані змінній "id" -->
$scope.name = $scope.contactlist [id].name;
$scope.phone = $scope.contactlist [id].phone;
$scope.email = $scope.contactlist [id].email;

}
$scope.deletePerson = function( id ) { <!--функція кнопки "Видалити" -->
$scope.contactlist .splice( id, 1 ); <!-- splice для видалення елементів масиву -->
$scope.contactlist;
$('#myModal').modal(options);
}

})
jQuery(function($){
$("#phone1").mask(" +380 (99) 999-99-99");
})

</script>
</head>
<body ng-app="app" ng-controller="contactlistCtrl">


<div >

<form name="form" class="form-horizontal" role="form" class="col-md-6" novalidate >
<div class="form-group ">
<div class="col-md-1">
<label class="text-left" for="inputHover">П.І.П.</label>
</div>
<div class="col-md-4">
<input type="text" ng-model="name" name="text" class="form-control" id="inputHover" placeholder="Name" required/>
<span class="error" ng-show="form.text.$error.required">Required!</span>
</div>
</div>

<div class="form-group">
<div class="col-md-1">
<label class="text-left">№ телефону</label>
</div>
<div class="col-md-4">
<input type="text" ng-model="phone" class="form-control" name="number" id="phone1" placeholder="Number" />
<span class="error" ng-show="form.number.$error.required">Required!</span>
<span class="error" ng-show="form.number.$error.number">Not valid number!</span>
</div>
</div>

<div class="form-group">
<div class="col-md-1">
<label class="text-left" >Ел. пошта</label>
</div>
<div class="col-md-4">
<input type="email" ng-model="email" name="email" class="form-control" id="inputHover" placeholder="Email" required/>
<span class="error" ng-show="form.email.$error.required">Required!</span>
<span class="error" ng-show="form.email.$error.email">Not valid email!</span>
</div>
</div>
<div class="form-group">
<div class="col-md-1"></div>
<div class="col-md-4">
<button ng-disabled="form.$invalid" class="btn btn-primary" ng-click="addNewPerson()" ng-hide="newPersonId > -1">Добавити</button>
<button ng-disabled="form.$invalid" class="btn btn-primary" ng-click="savePerson()" ng-show="newPersonId > -1">Зберегти</button>
</div>
</div>
</form>

<table id="contactlist " class="table table-striped">
<thead>
<tr>
<th>№</th>
<th>П.І.П.</th>
<th>№ телефону</th>
<th>Ел. пошта</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="person in contactlist "> <!-- в змінну "person" добавляємо елементи масиву "contactlist"-->
<td>{{ $index + 1 }}</td> <!-- зарезервована змінна $index, для того щоб нумерація починалася з одиниці добавляємо "+1"-->
<td>{{ person.name }}</td>
<td>{{ person.phone }}</td>
<td>{{ person.email }}</td>
<td>
<button class="btn btn-primary btn-xs" ng-click="editPerson($index)"><span class="glyphicon glyphicon-pencil"></span>
Ред-ти</button>
<button class="btn btn-primary btn-xs " data-toggle="modal" data-target="#myModal" ng-click="deletePerson($index)" ><span class="glyphicon glyphicon-trash"></span> Видалити</button>
</td>
</tr>
</tbody>
</table>

</div>
<!-- розмітка модального вікна-->
<div class="modal fade " id="myModal" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header"><button class="close" type="button" data-dismiss="modal">x</button>
<h4 class="modal-title" id="myModalLabel">Видалення контакту</h4>
</div>
<div class="modal-body">
<h3>Ви впевнені що хочете видалити цей контакт?</h3>
</div>
<div class="modal-footer"><button class="btn btn-default" type="button" data-dismiss="modal">Відміна</button>
<button class="btn btn-primary" type="button">Підтвердити</button></div>
</div>
</div>
</div>

</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 06.03.2016, 21:47
Интересующийся
Отправить личное сообщение для Mirtle@tut.by Посмотреть профиль Найти все сообщения от Mirtle@tut.by
 
Регистрация: 18.08.2015
Сообщений: 18

Я такие вещи пишу дерективами
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплавающее модальное окно с группой подписчиков вконтакте ??? ilyas-> Элементы интерфейса 32 27.01.2015 14:01
Bootstrap модальное окно igor.3dviz Общие вопросы Javascript 1 09.02.2014 13:27
Как передать переменную в модальное окно sinsir jQuery 24 20.06.2013 16:59
Подскажите как открыть модальное окно "fancybox" из скрипта js dgabets jQuery 1 18.02.2012 18:05
Как обновить модальное окно? (Colorbox) JEEN jQuery 1 04.02.2012 16:35