javascript - Jquery:如何禁用 <TR> 中的同级下拉值

标签 javascript jquery

我有一个这样的表:

<table class="mytable">
<tr>
  <td>
    <select class="go">
      <option value="">--</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
    </select>
  </td>
</tr>
<tr>
  <td>
    <select class="go">
      <option value="">--</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
    </select>
  </td>
</tr>
<tr>
  <td>
    <select class="go">
      <option value="">--</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
    </select>
  </td>
</tr>
<tr>
  <td>
    <select class="go">
      <option value="">--</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
    </select>
  </td>
</tr>
<tr>
  <td>
    <select class="go">
      <option value="">--</option>
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
    </select>
  </td>
</tr>
</table>

我的 jquery 代码是这样的:

$(".go").change(function(){
    var selVal=[];
    $(".go").each(function(){
        selVal.push(this.value);
    });

    $(this).closest('tr').siblings(".go").find("option").removeAttr("disabled").filter(function(){
       var a=$(this).parent("select").val();
       return (($.inArray(this.value, selVal) > -1) && (this.value!=a))
    }).attr("disabled","disabled");
});

My Fiddle

如果我在此下拉列表中选择 1,但我不应该再次在另一个下拉列表中选择 1,如何禁用同级值。这是工作example无需 table/td/即可完美工作。我的要求是使用表 tr/td。我尝试使用: $(this).closest('tr').siblings(".go") 但它不起作用。有什么想法吗?

最佳答案

尝试将 tr 传递给 .siblings()

$(this).closest("tr").siblings("tr").find("option")

jsfiddle http://jsfiddle.net/ev5qvprv/122/

关于javascript - Jquery:如何禁用 <TR> 中的同级下拉值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35075411/

相关文章:

javascript - 数据表所有页面总数不起作用,只起作用当前页面

jquery - 使用moment js计算两个日期之间的天数

javascript - jQuery 未触发

javascript - jQuery 动画卡顿

javascript - 鼠标悬停时的文本框

javascript - 当按下回车键时如何转到下一个文本框?

javascript - 如何替换并加载用户输入的新网址

javascript - 在 Ionic index.html 中的何处包含 jQuery

javascript - 在 asp.net 中单击按钮时调用 jQuery 函数

javascript - jQuery : How to operate a plugin on two input boxes