首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于前三个响应的jQuery UI组合框

用于前三个响应的jQuery UI组合框
EN

Stack Overflow用户
提问于 2018-08-02 19:58:27
回答 2查看 35关注 0票数 0

我有一个表单,用户需要选择他的前三种语言。

https://codepen.io/kaleem78/full/YjLGBN/

代码语言:javascript
复制
<table>
  <tr><td>Top 1</td><td><select name='myselect'>

  <option value='1'>java</option>
  <option value='2'>javascript</option>
  <option value='3'>actionscript</option>
  <option value='4' disabled>photoshop</option>
  <option value='5' >ajax</option>
</select></td></tr>

  <tr><td>Top 2</td><td><select name='myselect2'>

  <option value='1'>java</option>
  <option value='2'>javascript</option>
  <option value='3'>actionscript</option>
  <option value='4' disabled>photoshop</option>
  <option value='5' >ajax</option>
</select></td></tr>

  <tr><td>Top 3</td><td><select name='myselect3'>
  <option value='1'>java</option>
  <option value='2'>javascript</option>
  <option value='3'>actionscript</option>
  <option value='4' disabled>photoshop</option>
  <option value='5' >ajax</option>
</select></td></tr>
</table>

当用户选择其top 1语言时,该语言不应显示在Top 2和Top 3选项中,而当用户选择其Top 2语言时,Top 3不应显示Top 1和Top 2语言。

当用户更改Top 1或Top 2时,其他的应该相应地更新。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-02 20:15:59

试试下面的代码:你可以使用selectBox的更改侦听器,在其中你可以迭代和检查每个选择框的值,并为其他选择框禁用它。

代码语言:javascript
复制
$(function(){
    $('.selectBox').on('change', function(){
          $('.selectBox').find('option').prop('disabled',false);
          $('.selectBox').each(function(){
              var value= $(this).val();
              $('.selectBox').not($(this)).each(function(){
                 $(this).find('option[value=' + value +']').prop('disabled', true);
              });
          });
    });
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr><td>Top 1</td><td><select name='myselect' class='selectBox'>

  <option value='1'>java</option>
  <option value='2'>javascript</option>
  <option value='3'>actionscript</option>
  <option value='4' disabled>photoshop</option>
  <option value='5' >ajax</option>
</select></td></tr>

  <tr><td>Top 2</td><td><select name='myselect2' class='selectBox'>

  <option value='1'>java</option>
  <option value='2'>javascript</option>
  <option value='3'>actionscript</option>
  <option value='4' disabled>photoshop</option>
  <option value='5' >ajax</option>
</select></td></tr>

  <tr><td>Top 3</td><td><select name='myselect3' class='selectBox'>
  <option value='1'>java</option>
  <option value='2'>javascript</option>
  <option value='3'>actionscript</option>
  <option value='4' disabled>photoshop</option>
  <option value='5' >ajax</option>
</select></td></tr>
</table>

票数 0
EN

Stack Overflow用户

发布于 2018-08-02 20:00:43

为下拉菜单编写一个jQuery侦听器。选择一个选项后,从其他下拉列表中删除这些选项。我马上就会举一个例子。

下面是删除选项的主要逻辑:

代码语言:javascript
复制
$('select').not($(this)).find('option[value=' + value +']').prop('disabled', true);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51653083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档