首页 > 解决方案 > 如何检查在一个下拉列表中选择的选项是否在另一个下拉列表中选择

问题描述

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

 <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>

这是我的jQuery

$(document).on('change', '.drop', function () {
var value = $(this).val();
});

我坚持这一点,如何在另一个下拉列表中检查选定的 var 值是否被选中。

标签: jqueryhtml

解决方案


您可以循环所有 .drop 选择,不包括当前选择并检查它们的值:

$(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
  }
});

推荐阅读