如何禁用基于其他选择的选项选择?(How to disable select based on ot

2019-09-30 05:23发布

我有一个jQuery的功能的问题。 我想基于一个选择的选项来禁用其他选择。 在我的情况,我想如果选择1,从选择1选择禁用选择2。 所以我用这个jQuery函数:

$(document).ready(function(e) {
$('.select1').change(function(e) {
    if ($('.select1').val()==1){
        $('.select2').attr('disabled','disabled');
    }
    else{
        $('.select2').removeAttr('disabled');
    }
})
});

但是,这只有当我第一次选择选项2(或任何其他选项构成本选),然后重新选择选项1(我想那是因为改变功能的使用)。 当被默认选择1设置为选择1如何禁用选择2 ???

$(document).ready(function(e) {
    if ($('.select1').val()==1){
    $('.select2').attr('disabled','disabled');
}
else{
    $('.select2').removeAttr('disabled');
}
})

这也不会工作:/

Answer 1:

这听起来像你想触发启动一个“变”事件。

$('.select1').trigger('change');

所以,

$(document).ready(function(e) {
    $('.select1').change(function(e) {
        if ($('.select1').val()==1){
            $('.select2').attr('disabled','disabled');
        }
        else{
            $('.select2').removeAttr('disabled');
        }
    });
    $('.select1').trigger('change');
});


Answer 2:

几乎相同的代码。

$(document).ready(function(e) {
 change('.select1');
 $('.select1').change(function(e) {
   change(this);
 }) });  function change(sel){
if ($(sel).val()==1){
    $('.select2').attr('disabled','disabled');
  }
  else{
    $('.select2').removeAttr('disabled');
 } }


文章来源: How to disable select based on other selected option?