Javascript 基于下拉选择禁用输入字段

Javascript 基于下拉选择禁用输入字段,javascript,jquery,html,Javascript,Jquery,Html,我不知道怎么回事,当我搜索如何做时,我的代码与网上的代码相似。请告诉我怎么回事。首先,您似乎有标记问题(请参阅问题注释) 然后,我将添加带有JavaScript的事件侦听器,以避免JS未加载时出现问题 function checkOption(obj) { var input = document.getElementById("val_equipnofc"); input.disabled = obj.value == "B"; } 并使用this关键字访问新值 看 PS:

我不知道怎么回事,当我搜索如何做时,我的代码与网上的代码相似。请告诉我怎么回事。

首先,您似乎有标记问题(请参阅问题注释)

然后,我将添加带有JavaScript的事件侦听器,以避免JS未加载时出现问题

function checkOption(obj) {
    var input = document.getElementById("val_equipnofc");
    input.disabled = obj.value == "B";
}
并使用
this
关键字访问新值



PS:如果您只有“是/否”选项,为什么不使用复选框而不是下拉列表呢?首先,您似乎有标记问题(请参阅问题注释)

然后,我将添加带有JavaScript的事件侦听器,以避免JS未加载时出现问题

function checkOption(obj) {
    var input = document.getElementById("val_equipnofc");
    input.disabled = obj.value == "B";
}
并使用
this
关键字访问新值



PS:如果您只有“是/否”选项,为什么不使用复选框而不是下拉列表呢?如果您使用的是
Jquery
,那么您可以这样做

document.getElementById ("val_equipfc").addEventListener ("change", ...)

在这里使用JSFiddle

如果您使用的是
Jquery
,那么您可以这样做

document.getElementById ("val_equipfc").addEventListener ("change", ...)

在这里使用JSFIDLE

这是完整的HTML标记

请测试一下。这必须奏效

$(document).ready(function(){
  $('#val_equipfc').change(function(){
    $('#val_equipnofc').prop('disabled', $(this).val() == "B");
  });
});

这应该行得通
对
不
*有设备吗?
*设备数量
功能检查选项(obj){
var输入=document.getElementById(“val_equipmnofc”);
input.disabled=obj.value==“B”;
}
产生:

是状态:

没有国家:


这是完整的HTML标记

请测试一下。这必须奏效

$(document).ready(function(){
  $('#val_equipfc').change(function(){
    $('#val_equipnofc').prop('disabled', $(this).val() == "B");
  });
});

这应该行得通
对
不
*有设备吗?
*设备数量
功能检查选项(obj){
var输入=document.getElementById(“val_equipmnofc”);
input.disabled=obj.value==“B”;
}
产生:

是状态:

没有国家:


您确定设备的
*正确吗?
只是告诉您文本字段是必填字段这是您正确编码的吗<代码>输入。禁用=对象。值==“B”<代码>输入。当select的值为<代码>“B”时,禁用的将为真。是否从*使用设备更正源代码?到*带设备?我更改了它,但当我在下拉菜单中选择“否”时它没有被禁用。你确定
*带设备吗?
正确吗?它只是告诉你文本字段是必填的这是你正确编码的吗<代码>输入。禁用=对象。值==“B”<代码>输入。当select的值为<代码>“B”时,禁用的将为真。是否从*使用设备更正源代码?使用设备?我更改了它,但当我在下拉列表中选择“否”时它没有被禁用谢谢你救了我的命谢谢你救了我的命