我的输入类型为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>
答案 0 :(得分:6)
使用onchange
事件获取select的值,我假设disabled_input
id仅分配给一个输入字段,那么无意间遍历所有输入
<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>
答案 1 :(得分:0)
我认为这里不需要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'});
}
}
});