JQuery 在选择右键选择值时启用/禁用输入


JQuery enable/disable input when right select value selected

我有一个输入类型select和输入类型text。我想要的是,当我在选择输入中选择"其他">项时,其他输入类型文本将启用,否则将被禁用。我这里有一个代码,我可能在这里错过了一些东西。

<script type='text/javascript'>
    var others = $('select[name="facility"]').val()
    $().ready(function() {
        if(others == "Others"){
            $('input').each(function() {
                if ($('#disabled_input').attr('disabled')) {
                    $('#disabled_input').removeAttr('disabled');
                }
                else {
                    $('#disabled_input').attr({
                        'disabled': 'disabled'
                    });
                }
            });
        }
        });
    });
</script>

> 使用onchange事件获取 select 的值,我假设 id 只分配给一个输入字段disabled_input那么遍历所有输入是没有意义的

<script type='text/javascript'>
$(document).ready(function() {
$('#disabled_input').attr('disabled','disabled');        
$('select[name="facility"]').on('change',function(){
var  others = $(this).val();
    if(others == "Others"){           
    $('#disabled_input').removeAttr('disabled');          
     }else{
     $('#disabled_input').attr('disabled','disabled'); 
    }  
  });
});
</script>

在此处观看演示

我认为这里不需要each。对于每次迭代,它将检查if ($('#disabled_input').attr('disabled'))您可以直接检查

var others = $('select[name="facility"]').val();
 $(document).ready(function () {//missing document
     if (others == "Others") {
//no need of each here
         if ($('#disabled_input').attr('disabled')) {
         $('#disabled_input').removeAttr('disabled');
         } 
         else {
         $('#disabled_input').attr({'disabled': 'disabled'});  
         }
     }
 });