我有一个输入类型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'});
}
}
});