您的位置:首页 > Web前端 > JavaScript

将select下拉框中的非默认选项均置灰

2017-03-02 16:02 567 查看
需求如下:

分公司名称下拉框中的内容是单位所有分公司名称列表。由分公司管理人员的账号登陆系统后,下拉框中的选项,除去本分公司名称外,其余选项均置灰不可选择。

使用js完成这个需求:

//将所有非默认值的选项置灰
function selectIt(e) {
//borDepartment是登陆角色所属的分公司
var borDepartment = "<%=dep%>";
//如果角色有分公司属性的话,则只有该项为可选项
if(borDepartment!="" && borDepartment!="null") {
var selectDep = e;
var selectI = 0;
for(var i=0; i<selectDep.options.length; i++) {
//这一句将其余项置灰
if(selectDep.options[i].value!=borDepartment) {
selectDep.options[i].disabled = true;
//防止浏览器不兼容:将disable项手动置灰
selectDep.options[i].style.color="graytext";
}else{
//获取默认选项的索引号
selectI = i;
}
}
//防止disable标签浏览器不兼容
//如果选中disabled项,回滚到默认值
if(e.options[e.selectedIndex].disabled) {e.selectedIndex = selectI;}
}

}


在jsp中这样使用:

<select name="borDepartment" id="borDepartment"  onclick="selectIt(this)">

<option value="福建区">福建区</option>
<option value="江苏区">江苏区</option>
<option value="江西区">江西区</option>
<option value="安徽区">安徽区</option>
<option value="贵州区">贵州区</option>
<option value="湖南区">湖南区</option>
<option value="云南区">云南区</option>
<option value="北京区">北京区</option>
<option value="四川区">四川区</option>
<option value="河南区">河南区</option>
<option value="广东区">广东区</option>
<option value="重庆区">重庆区</option>
<option value="甘肃区">甘肃区</option>
<option value="广西区">广西区</option>

</select>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  select javascript