我创建了一个代码,其中在文本框中输入的文本被推入一个数组中,然后在单击按钮时显示。代码如下:
var app = angular.module("myApp",[]);
app.controller("myCtrl", function($scope){
$scope.ss = [];
$scope.sa = [
{plate1: 'some plate 1'},
{plate1: 'some plate 2'},
{plate1: 'some plate 3'},
{plate1: 'some plate 5'}
]
alert($scope.ss.length);
$scope.getPlate = function(){
$scope.ss.push({plate1:$scope.newplate});
//var abb= $scope.ss.push.apply($scope.sa).toString();
// var aas = $scope.ss;
}
});
HTML:
<div ng-controller="myCtrl">
<table>
<tr ng-repeat="xx in ss track by $index">
<td>{{xx.plate1}} </td>
<td> </td>
</tr>
</table>
<input type="text" ng-model="newplate"/>
<input type="button" ng-click="getPlate()"/>
</div>
现在我需要检查如果我输入的文本已经存在,那么就不应该按下它。请帮助。
答案 0 :(得分:1)
$scope.getPlate = function() {
var exists = $scope.ss.some(function (value) {
return value.plate1 == $scope.newplate;
});
if (exists) {
// it exists
} else {
$scope.ss.push({plate1:$scope.newplate});
}
}
答案 1 :(得分:-1)
你可以试试这个
app.controller("myCtrl", function($scope){
$scope.ss = [];
var match=[];
$scope.getPlate = function(){
if(match.indexOf($scope.newplate) > -1){
match.push($scope.newplate);
$scope.ss.push({plate1:$scope.newplate});
}
}
});