javascript - 每个人的下拉值都是唯一的,三个下拉框jquery中的值不相同

标签 javascript jquery

我正在尝试三个下拉框值不相同,否则会显示我尝试过但不起作用的错误。有人可以解决此问题吗?

示例:

正确的场景:

示例:-

下拉一个值:1 下拉一值:2 下拉一值:3

<小时/>

下拉一个值:3 下拉一值:1 下拉一值:2

<小时/>

错误场景:

示例:-

下拉一个值:1 下拉一值:1 下拉一值:2

<小时/>

下拉一个值:1 下拉一值:2 下拉一值:2

<小时/>

下拉一个值:3 下拉一值:3 下拉一值:2

如果我从下拉列表中选择两个相同的值,我想显示错误。每个下拉列表值都是唯一的,否则想显示错误。

fiddle :http://jsfiddle.net/5vw7Ljso/1/

$('#checkDate').bind('click', function() {  
   var one=$('#one').val();
   var two=$('#two').val();
   var three=$('#three').val();    
   if( (one==two) || (two==three) || (three == one)  ){

   }
   else{
      alert("error")
   }   
});

最佳答案

这应该可以完成您想要的检查。我将您的选择添加到数组中。然后我过滤掉默认值。实际上,只有当您获得空值时才需要 bool 过滤器。 然后我过滤数组检查重复项。最后比较两个数组的长度。

http://jsfiddle.net/nctaz5ox/

$('#checkDate').bind('click', function() {

   var one = $('#one').val();
   var two = $('#two').val();
   var three = $('#three').val();
   const values = [one, two, three].filter(i => 'Select' !== i)
   const filtered = values.filter((v, i) => values.indexOf(v) === i)
   if (values.length) {
     if (values.length === filtered.length) {
       alert("Ok")
     } else {
       alert("You can not select same value again..Please select different value")
     }
   }


 });

关于javascript - 每个人的下拉值都是唯一的,三个下拉框jquery中的值不相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55140680/

相关文章:

javascript - 如何将文本环绕堆叠元素(即具有负边距的元素)?

javascript - 隐藏显示菜单 getElementsByClassName

javascript - 我如何为由于调用了 $.fadeIn() 的其他附近元素而移动的元素设置动画?

jQuery 自动完成类别选择标签和值

javascript - 复选框未显示为已选中

javascript - 当用户在警报框上单击 "ok"时运行另一个 javascript

Javascript Web 音频 API - AudioContext 到 base64

javascript - 解析 JSON 不起作用

javascript - 在 sails.js 中重新排序文件上传的表单参数

javascript - 创建 HTML 选项卡