Javascript.RU

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

Как запретить добавление одинаковых значений в массив ?
Как запретить добавление одинаковых значений в массив ?



<!DOCTYPE html>
<html ng-app="app">

<head>
<title>Tony's Pizza</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjV ME1fgjWPGmkzs7" crossorigin="anonymous">
</head>

<body ng-controller="pizzaController">
<div class="container">
<h3>Topping Search</h3>
<input type="text" class="form-control" ng-model="model.search" >
<br>
<div class="alert alert-success" ng-show="model.showAdded">
Topping added. <input type="button" value="close" ng-click="hideAdded()">
</div>

<div class="alert alert-danger" ng-show="model.search && (model.availableToppings | filter:model.search).length == 0">
No results.
</div>

<div ng-hide="model.search">
Enter the search criteria above.
</div>

<div ng-repeat="t in model.availableToppings | filter:model.search">
<span ng-click="addTopping(t)">{{t}}</span>
</div>

<h3 ng-show="model.toppings.length > 0">Selected Toppings</h3>
<div ng-repeat="t in model.toppings">
{{t}}<span ng-click="removeItem($index)" class="glyphicon glyphicon-remove"></span>
</div>

</div>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script>
var app = angular.module('app', []);
app.controller('pizzaController', [
'$scope',
function ($scope) {
$scope.model = {
title: 'Pizza Builder',
availableToppings: [
'Cheese',
'Pepperoni',
'Bacon',
'Pineapple',
'Sausage',
'Ham',
'Chicken',
'Mushrooms',
'Onion',
'Olives',
'Green Peppers'
],
toppings: [],
showAdded: false
};
$scope.addTopping = function (topping){
$scope.model.toppings.push(topping);
$scope.model.search = "";
$scope.model.showAdded = true;

}

$scope.hideAdded = function (){
$scope.model.showAdded = false;

}

$scope.removeItem = function (z)
{
$scope.model.toppings.splice(z, 1);
}

}




]);


</script>

</body>

</html>
Ответить с цитированием
  #2 (permalink)  
Старый 03.04.2017, 12:33
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

if (~$scope.model.toppings.indexOf(topping)) return;
Ответить с цитированием
  #3 (permalink)  
Старый 03.04.2017, 12:41
Интересующийся
Отправить личное сообщение для vanyabb Посмотреть профиль Найти все сообщения от vanyabb
 
Регистрация: 03.04.2017
Сообщений: 12

Спасибо за помощь !
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запретить вход на сайт если.... dezytube Элементы интерфейса 2 23.08.2016 13:32
Как обработать переданные функции параметры как массив? javascript_pupil Общие вопросы Javascript 5 19.08.2016 13:59
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как передать в переменную массив значений из INPUT тега kapustnik Общие вопросы Javascript 3 19.04.2013 10:46
Как лучше сделать глобальный массив skyfish AJAX и COMET 4 17.02.2009 18:05