javascript - 如何检查并提醒是否有重复项插入到我的表中?

标签 javascript jquery html css angularjs

对于通过“添加”按钮添加的每个品牌和型号,我需要检查是否有重复项,如果有重复项则设置警报并且不让它添加到表中。似乎无法找到解决方案...

下面是我正在处理的初学者元素的完整代码。对于这篇文章,我提前表示歉意,这是我第一次来到这里...谢谢大家。

<div>
 <div>Make: <input type="text" ng-model="make"></div>
 <div>Model:<input type="text" ng-model="model"></div>
 <button ng-click="add()">Add</button>

    <tr>
        <th>Make</th>
        <th>Model</th>
    </tr>
    <tr ng-repeat="car in cars" ng-click="rowClick(car)">
        <td>{{car.make}}</td>
        <td>{{car.model}}</td>
    </tr>

  <table class="table carsTable">
    <tr>
        <th>Make</th>
        <th>Model</th>
    </tr>
    <tr ng-repeat="car in cars" ng-click="rowClick(car)">
        <td>{{car.make}}</td>
        <td>{{car.model}}</td>
    </tr>

<script>
var carsApp = angular.module('carsApp', []);



carsApp.controller('carController', function ($scope){

   $scope.cars = [];

  $scope.add = function () {



    $scope.cars.push({
       make: $scope.make,
       model: $scope.model

    });

    $scope.make = null;
    $scope.model = null;

  };

  $scope.rowClick = function(car){
      $scope.make= car.make;
      $scope.model= car.model;
  };

  $scope.alert = function(){
      alert('Already exists in table');

  }

}); 

最佳答案

您可以通过检查数组中的每个 car(比较品牌和型号)来检查重复项 - 您可以使用 Array.some 来完成此操作(返回一个 bool 值,如果数组中的任何元素都符合条件):

在您的添加函数中:

var hasDuplicates = $scope.cars.some(car => car.make == $scope.make && car.model == $scope.model);

if (hasDuplicates) {
    alert("Car already exists");
} else {
    $scope.cars.push({
       make: $scope.make,
       model: $scope.model
    });
}

如果不能使用箭头语法:

var hasDuplicates = $scope.cars.some(function(car) {
    return car.make == $scope.make && car.model == $scope.model;
}); 

关于javascript - 如何检查并提醒是否有重复项插入到我的表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42075892/

相关文章:

javascript - 如果输入字段为空,则禁用 <a 类按钮

javascript - 如何将 mat-progress bar 与 mat-table 中的项目 id 链接

javascript - jquery mouseenter 和 mouseleve 不适用于新注入(inject)的 dom 元素

javascript - 链接到水平网页上的某个部分

html - 调整浏览器大小后没有 CSS 样式

javascript - 加载页面后延迟javascript和jquery的最终解决方案

javascript - 用于将字符串拆分为数组并替换数组元素的正则表达式?

javascript - 如何使用jquery永久禁用复选框

javascript - 用其他div jQuery替换div数据

html - Flip CSS Transition 显示反向翻转文本