javascript - 比较每个 JS 的值

标签 javascript jquery

我有这个each(),它收集带有参数data-is-rate = 1的所有选中复选框

 $('input[data-is-rate="1"]:checked').each(function(){
     console.log($(this).attr('data-id'));
 });

由此,我得到了每个data-id

111
222
333

那么有什么方法可以比较它们吗? ID 不是唯一的并且可以相同,我需要检查。

因此,如果 data-id 重复出现,它应该返回错误。

例如,如果输出是这样的,它应该返回一个错误。

111
222
111

如果输出是这样的,应该不会有错误,因为值是唯一的

111
222
333

我如何比较这些?

最佳答案

这样的事情可能会有所帮助,当错误发生时,做需要做的事情......

var ids = [];
$('input[data-is-rate="1"]:checked').each(function(){
  console.log($(this).attr('data-id'));
  
  if(ids.includes($(this).attr('data-id'))) {
      console.log(' E R R O R !');
  }
  
  ids.push($(this).attr('data-id'));
  
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input data-is-rate="1" type="checkbox" data-id="111" checked="checked">111
<input data-is-rate="1" type="checkbox" data-id="111" checked="checked">111
<input data-is-rate="1" type="checkbox" data-id="222" checked="checked">222
<input data-is-rate="1" type="checkbox" data-id="333" checked="checked">333

如果 data-id="111" 没有检查两次,则没有错误

var ids = [];
$('input[data-is-rate="1"]:checked').each(function(){
  console.log($(this).attr('data-id'));
  
  if(ids.includes($(this).attr('data-id'))) {
      console.log(' E R R O R !');
  }
  
  ids.push($(this).attr('data-id'));
  
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input data-is-rate="1" type="checkbox" data-id="111" checked="checked">111
<input data-is-rate="1" type="checkbox" data-id="111" >111
<input data-is-rate="1" type="checkbox" data-id="222" checked="checked">222
<input data-is-rate="1" type="checkbox" data-id="333" checked="checked">333

关于javascript - 比较每个 JS 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60365412/

相关文章:

javascript - ExtJS 管理窗口和检测前窗

javascript - 在 AngularJS 中使用外部库(灯箱)

javascript - HTML 选择列表 - 如何使用 jQuery 添加水印?

javascript - IE8 -- JS 的异步验证?

javascript - 为什么彩色球越过页面边缘继续下降

javascript - 在 PHP Laravel 中将变量从 foreach 循环传递到我的 Controller

javascript - 在使用 Fancybox 弹出窗口打开的 iFrame 中调用 javascript 函数

javascript - 使用降序过滤器生成 ng-repeat 时出错

javascript - 从一个 html 文件到循环 html/jquery/js/ajax 中的另一个

jquery - 有没有可以动态制作图像缩略图的 jQuery 插件?