Javascript 从第一次选择选项时如何禁用以前选择的选项

Javascript 从第一次选择选项时如何禁用以前选择的选项,javascript,jquery,html,Javascript,Jquery,Html,我有两个选择元素。两个select具有相同的值。当我从1个选择框中选择选项时,它应该禁用第二个选择框中以前的所有选择选项。 假设我有一个选择: <select id="s1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <

我有两个选择元素。两个select具有相同的值。当我从1个选择框中选择选项时,它应该禁用第二个选择框中以前的所有选择选项。 假设我有一个选择:

  <select id="s1">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  </select>

  <select id="s2">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  </select>

1.
2.
3.
1.
2.
3.
如果我从s1框中选择值3,则应禁用s2 select中以前的所有选项。如果我从s1中选择值2,则应禁用s2中以前的所有值

注意:不应禁用下一个值,而应禁用上一个值。我正在寻找
jquery
解决方案。

用于选择索引小于指定索引的元素

将从匹配的元素返回元素的位置

将从返回的元素中排除指定的元素

$('select')。更改(函数(){
$('select option').prop('disabled',false);
var index=$(this).find('option:selected').index();
$('select').not(this).find('option:lt('+index+'))).prop('disabled',true);
})

1.
2.
3.
1.
2.
3.

如果下面的代码对您有用,请尝试下面的代码

$(document).ready(function() {
$("#s1").change(function() {
    var optVal = $(this).val();
    $("#s2 option").each(function() {
        $(this).prop('disabled', false);
        if (optVal > $(this).val()) {
            $(this).prop('disabled', true);
        }
    });
});});

:lt
选择器如何?您能提供更多关于:lt的详细信息吗?实现指南:在我的情况下是这样吗?这是一段令人惊讶的小代码。。谢谢你让我实施…我可能在阐述我的案例时犯了一些错误,但这给了我想法。。。我想按相反的顺序做。错误使用:gt:D。非常感谢。我过一会儿再打给你@RayonDabre学到了一个新东西
:lt
+1.进入9k俱乐部:)@RinoRaj,谢谢你,伙计;)