Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何检查在一个下拉列表中选择的选项是否在另一个下拉列表中被选中_Jquery_Html - Fatal编程技术网

Jquery 如何检查在一个下拉列表中选择的选项是否在另一个下拉列表中被选中

Jquery 如何检查在一个下拉列表中选择的选项是否在另一个下拉列表中被选中,jquery,html,Jquery,Html,我有多个相同类名的下拉列表,如果我在一个下拉列表中选择一个选项,如何在其他下拉列表中检查该选项是否被选中 <table> <tbody> <tr> <td> <select class="drop"> <option value="1">A</option> <option value="2">B</option>

我有多个相同类名的下拉列表,如果我在一个下拉列表中选择一个选项,如何在其他下拉列表中检查该选项是否被选中

 <table>
    <tbody>
    <tr>
    <td>
        <select class="drop">
        <option value="1">A</option>
        <option value="2">B</option>
        <option value="3">C</option>                                               
        </select>
    </td>
    </tr>

    <tr>
    <td>
        <select class="drop">
        <option value="1">A</option>
        <option value="2">B</option>
        <option value="3">C</option>                                               
        </select>
    </td>
    </tr>

    <tr>
    <td>
        <select class="drop">
        <option value="1">A</option>
        <option value="2">B</option>
        <option value="3">C</option>                                               
        </select>
    </td>
    </tr>
    <tbody>
    <table>

我被这一点困住了,如何在另一个下拉列表中检查选择的var值是否被选中

您可以循环所有项。下拉选择排除当前项并检查其值:

$(document).on('change', '.drop', function () {
  var value = $(this).val();
  // initialize bool
  var selected_in_other_dropdowns = false;
  // loop all .drop excluding this one
  $('.drop').not(this).each(function() {
    if($(this).val() == value) {
      // same value found
      selected_in_other_dropdowns = true;
    }
  });
  if(selected_in_other_dropdowns === true) {
    // do stuff
  }
});

您可以循环所有。下拉选择排除当前值并检查其值:

$(document).on('change', '.drop', function () {
  var value = $(this).val();
  // initialize bool
  var selected_in_other_dropdowns = false;
  // loop all .drop excluding this one
  $('.drop').not(this).each(function() {
    if($(this).val() == value) {
      // same value found
      selected_in_other_dropdowns = true;
    }
  });
  if(selected_in_other_dropdowns === true) {
    // do stuff
  }
});
你这样检查

循环其他
。拖放
类,并将所选值与其他下拉值进行比较

$(document).on('change', '.drop', function () {
var value = $(this).val();
 $('.drop').not(this).each(function(index,val){
   if(val.value == value) {
     console.log('already selected');
     // now do whatever you want.
   }
 })
});
您可以这样检查

循环其他
。拖放
类,并将所选值与其他下拉值进行比较

$(document).on('change', '.drop', function () {
var value = $(this).val();
 $('.drop').not(this).each(function(index,val){
   if(val.value == value) {
     console.log('already selected');
     // now do whatever you want.
   }
 })
});

我认为您可以只使用jquery选择器,而不使用循环,如下所示:

$(document).on('change','.drop',函数(){
var值=$(this.val();
var same_selected=$(“.drop”).not(this.find(`option[value=“${value}]”):selected`)

如果选择了(same_.length,我认为您可以只使用jquery选择器而不使用循环,如下所示:

$(document).on('change','.drop',函数(){
var值=$(this.val();
var same_selected=$(“.drop”).not(this.find(`option[value=“${value}]”):selected`)

如果(same_selected.length)您可以在
中添加不同的选择器(类或id),或者尝试使用js
.index()
或css
eq
伪类。@Oleg Nurutdinov。谢谢,使用不同的id是可能的,但我正在尝试使用相同的类名。使用.index()我能做什么?您可以添加不同的选择器(类或id)添加到您的
或尝试使用js
.index()
或css
eq
伪类。@Oleg Nurutdinov。谢谢,使用不同的id是可能的,但我尝试使用相同的类名。使用.index()我该怎么办?