如何通过使用javascript在另一个下拉列表中选择来禁用下拉列表中的选项
如果选择了任何BSIT、BSC等(所有BS),我想禁用11级和12级;但如果选择了阀杆、顶部、气体和腐殖质,则将启用11级和12级,并启用所有BS如何通过使用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
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');
}
}
});