用JS来实现select选中值后使其他select为disabled

有3个select默认的选中值是“请选择”
如何通过JS实现,如果其中一个更改了选中值,其他2个select为disabled

简单的写了一段代码,不限于3个,可以是更多个select
<select id="a" onclick="javascript:doit(this);"><option value="请选择">请选择</option><option value="a">a</a></select>
<select id="b" onclick="javascript:doit(this);"><option value="请选择">请选择</option><option value="b">b</a></select>
<select id="c" onclick="javascript:doit(this);"><option value="请选择">请选择</option><option value="c">c</a></select>
<script type="text/javascript">
function doit(o){
var ss=document.getElementsByTagName("select");
if(o.options[o.selectedIndex].value=='请选择'){
for(var i=0;i<ss.length;i++){
ss[i].disabled=false;
}
}else{
for(var i=0;i<ss.length;i++){
if(ss[i]!=o) ss[i].disabled=true;
}
}
}
</script>追问

谢谢啦!
但是有个问题
如果按照你这样的话,所有的select都会disabled掉。
能否只在a,b,c这3个select里判断呢?
就是:如果 a改变,b,c 为disabled
b改变,a,c 为 disabled
c改变,a,b 为 disabled

追答

function doit(o){
if(o.options[o.selectedIndex].value=='请选择'){
document.getElementById('a').disabled=false;
document.getElementById('b').disabled=false;
document.getElementById('c').disabled=false;
}else{
document.getElementById('a').disabled=true;
document.getElementById('b').disabled=true;
document.getElementById('c').disabled=true;
}
o.disabled=false;
}

温馨提示:答案为网友推荐,仅供参考
相似回答