Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过使用javascript在另一个下拉列表中选择来禁用下拉列表中的选项_Javascript_Html - Fatal编程技术网

如何通过使用javascript在另一个下拉列表中选择来禁用下拉列表中的选项

如何通过使用javascript在另一个下拉列表中选择来禁用下拉列表中的选项,javascript,html,Javascript,Html,如果选择了任何BSIT、BSC等(所有BS),我想禁用11级和12级;但如果选择了阀杆、顶部、气体和腐殖质,则将启用11级和12级,并启用所有BS var disable_options=false; document.getElementById('type')。onchange=function(){ //警报(“您选择的=”+此值); 如果(this.value==“学生”) { document.getElementById('course')。removeAttribute('dis

如果选择了任何BSIT、BSC等(所有BS),我想禁用11级和12级;但如果选择了阀杆、顶部、气体和腐殖质,则将启用11级和12级,并启用所有BS

var disable_options=false;
document.getElementById('type')。onchange=function(){
//警报(“您选择的=”+此值);
如果(this.value==“学生”)
{
document.getElementById('course')。removeAttribute('disabled');
document.getElementById('year_level')。removeAttribute('disabled');
}
其他的
{
document.getElementById('course').setAttribute('disabled',true);
document.getElementById('year_level').setAttribute('disabled',true);
}
}

类型:
大学生
教师
工作人员
课程类型:
BSIT
平衡计分卡
BSHRM
BSBM
BSTM
茎
顶部
气体
腐殖质
年份级别:
第一年
第二年
第三年
第四年
11年级
十二年级

与您已有的类似,您需要在课程元素中添加一个
onchange
监听器

document.getElementById("course").onchange = function() {}
然后将ID添加到grade 11和grade 12选项中,以便可以在DOM中找到它们

<option id="grade-11">Grade 11</option>
<option id="grade-12">Grade 12</option>
就这样!选项元素可以采用禁用属性,并且当课程元素为“BSCS”或“BSIT”时无法选择

完整代码

var disable_options=false;
document.getElementById('type')。onchange=function(){
//警报(“您选择的=”+此值);
如果(this.value==“学生”)
{
document.getElementById('course')。removeAttribute('disabled');
document.getElementById('year_level')。removeAttribute('disabled');
}
其他的
{
document.getElementById('course').setAttribute('disabled',true);
document.getElementById('year_level').setAttribute('disabled',true);
}
}
document.getElementById('course')。onchange=function(){
if([“BSCS”,“BSIT”].indexOf(this.value)>-1){
document.getElementById(“grade-11”).setAttribute(“disabled”,true);
document.getElementById(“12级”).setAttribute(“禁用”,true);
}否则{
文档.getElementById(“11级”)。删除属性(“禁用”);
document.getElementById(“12级”).removeAttribute(“禁用”);
}
}

类型:
大学生
教师
工作人员
课程类型:
BSIT
平衡计分卡
BSHRM
BSBM
BSTM
茎
顶部
气体
腐殖质
年份级别:
第一年
第二年
第三年
第四年
11年级
十二年级
首先将
value=“value”
添加到
元素中,以便您可以一致地读取值。例如:
BSIT
12级
,等等

document.getElementById('course').addEventListener('change', function(){

  if(this.value && this.value.substr(0, 2) === 'bs'){

    // if a "bs" option is selected, disable grade 11 and 12 options

    document.querySelector('[value="grade11"]').setAttribute('disabled', '');
    document.querySelector('[value="grade12"]').setAttribute('disabled', '');

  }else{

    // remove all disabled attributes from options

    var disabledOptions = document.querySelectorAll('option[disabled]'),
        i, l = disabledOptions.length;

    for(i = 0; i < l; ++i){

      disabledOptions[i].removeAttribute('disabled');

    }

  }

});
document.getElementById('course').addEventListener('change',function(){
if(this.value&&this.value.substr(0,2)=='bs'){
//如果选择了“bs”选项,则禁用11级和12级选项
document.querySelector('[value=“grade11”]').setAttribute('disabled','');
document.querySelector('[value=“grade12”]').setAttribute('disabled','');
}否则{
//从选项中删除所有禁用的属性
var disabledOptions=document.querySelectorAll('option[disabled]'),
i、 l=禁用选项。长度;
对于(i=0;i
使代码更具可读性;删除了重复的代码。它可以工作!!谢谢我的朋友,你解决了我的问题,值得称赞!谢谢我的朋友,你做到了!
document.getElementById('course').addEventListener('change', function(){

  if(this.value && this.value.substr(0, 2) === 'bs'){

    // if a "bs" option is selected, disable grade 11 and 12 options

    document.querySelector('[value="grade11"]').setAttribute('disabled', '');
    document.querySelector('[value="grade12"]').setAttribute('disabled', '');

  }else{

    // remove all disabled attributes from options

    var disabledOptions = document.querySelectorAll('option[disabled]'),
        i, l = disabledOptions.length;

    for(i = 0; i < l; ++i){

      disabledOptions[i].removeAttribute('disabled');

    }

  }

});