Javascript 有没有办法禁用Select 2中的选项,该选项的值大于Select 1中所选选项的值

Javascript 有没有办法禁用Select 2中的选项,该选项的值大于Select 1中所选选项的值,javascript,jquery,html,Javascript,Jquery,Html,我有两个选择表。 他们不是兄弟姐妹。它们都有15个选项,具有1-15个值。我需要得到的是,当从Select A中选择一个值为5的选项时。然后,应禁用值大于5的Select B选项 这是我的代码: 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15 您可以尝试以下代码 jQuery( document ).ready(function($){ $('#child_g

我有两个选择表。 他们不是兄弟姐妹。它们都有15个选项,具有1-15个值。我需要得到的是,当从Select A中选择一个值为5的选项时。然后,应禁用值大于5的Select B选项

这是我的代码:

1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15
您可以尝试以下代码

jQuery( document ).ready(function($){
    $('#child_going_school').change(function() {

        var val1 = parseInt($('#children').val());
        var val2 = parseInt($(this).val());

        console.log(val1)
        console.log(val2)

        if(val1 != ''){
            if(val2 > val1){
                $(this).val(val1);
            }
        }

    });
});
在这种情况下,如果第二个下拉列表值大于第一个,则将其值设置为第一个下拉列表值。我希望这有助于您

您可以使用过滤器获得具有更高值的选项,如:

$children.changefunction{ var val=+$this.val; $child\u going\u school选项。移除“已禁用”。过滤器功能{ return+this.value>val; }.attr'disabled','disabled' }; 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15
首先获取第一个下拉列表的值,然后进行比较并禁用,如下所示

$document.on'change',children',函数{ var fval=$this.val; $child\u going\u school option.eachfunction{ var$thispoption=$this; 如果$thispoption.val>parseIntfval{ $thisOption.attrdisabled,disabled; } }; } 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15 1. 2. 3. 4. 5. 6. 7. 8. 9 10 11 12 13 14 15 您可以遍历child_go_school选项,在加载后触发更改事件,并使用children select的值进行检查:

$'children'。关于'change',函数{ var值=此值; $“儿童入学选项”。每个功能{ $el.prop'disabled',parseIntvalue到目前为止,您做了什么?我已从Select 2禁用了相同值的选项。但无法获取所有大于所选值的值。发布代码:$'children'。更改函数{var value=$this.val;$'child\u going\u school.children'option'。每个函数{if$this.val===value{$this.attr'disabled',true.sides.removeAttr'disabled';}@把你的代码放在问题中而不是评论中谢谢你的评论。这帮了大忙。很高兴帮忙:欢迎来到SO!请为您的答案添加一些解释。在第一个下拉更改方法中,我们可以使用第二个下拉选项值检查所选选项。如果第二个下拉选项值大于选定值,则应禁用该选项,否则应使用事件和每个方法启用该选项。通过使用事件,我们可以获得第一个下拉列表的选定值,这里使用子方法来获得第二个下拉列表选项。
<script>
$(document).ready(function(){
  $('#children').change(function(event){
   $('#child_going_school').children().each(function(_, el) {
    $(el).prop('disabled', Number($(el).val()) > event.target.value);
  });
  });
});
</script>