Javascript 操作select控件(新增、修改、删除、选中、清空、判断存在等)

1.判断select选项中 是否存在Value="paraValue"的Item
2.向select选项中 加入一个Item
3.从select选项中 删除一个Item
4.删除select中选中的项
5.修改select选项中 value="paraValue"的text为"paraText"
6.设置select中text="paraText"的第一个Item为选中
7.设置select中value="paraValue"的Item为选中
8.得到select的当前选中项的value
9.得到select的当前选中项的text
10.得到select的当前选中项的Index
11.清空select的项

Js代码

js 代码  
// 1.判断select选项中 是否存在Value="paraValue"的Item          
function jsSelectIsExitItem(objSelect, objItemValue) {          
    var isExit = false;          
    for (var i = 0; i < objSelect.options.length; i++) {          
        if (objSelect.options.value == objItemValue) {          
            isExit = true;          
            break;          
        }          
    }          
    return isExit;          
}           
     
// 2.向select选项中 加入一个Item          
function jsAddItemToSelect(objSelect, objItemText, objItemValue) {          
    //判断是否存在          
    if (jsSelectIsExitItem(objSelect, objItemValue)) {          
        alert("该Item的Value值已经存在");          
    } else {          
        var varItem = new Option(objItemText, objItemValue);        
        objSelect.options.add(varItem);       
        alert("成功加入");       
    }          
}          
     
// 3.从select选项中 删除一个Item          
function jsRemoveItemFromSelect(objSelect, objItemValue) {          
    //判断是否存在          
    if (jsSelectIsExitItem(objSelect, objItemValue)) {          
        for (var i = 0; i < objSelect.options.length; i++) {          
            if (objSelect.options.value == objItemValue) {          
                objSelect.options.remove(i);          
                break;          
            }          
        }          
        alert("成功删除");          
    } else {          
        alert("该select中 不存在该项");          
    }          
}      
     
     
// 4.删除select中选中的项      
function jsRemoveSelectedItemFromSelect(objSelect) {          
    var length = objSelect.options.length - 1;      
    for(var i = length; i >= 0; i--){      
        if(objSelect.selected == true){      
            objSelect.options = null;      
        }      
    }      
}        
     
// 5.修改select选项中 value="paraValue"的text为"paraText"          
function jsUpdateItemToSelect(objSelect, objItemText, objItemValue) {          
    //判断是否存在          
    if (jsSelectIsExitItem(objSelect, objItemValue)) {          
        for (var i = 0; i < objSelect.options.length; i++) {          
            if (objSelect.options.value == objItemValue) {          
                objSelect.options.text = objItemText;          
                break;          
            }          
        }          
        alert("成功修改");          
    } else {          
        alert("该select中 不存在该项");          
    }          
}          
     
// 6.设置select中text="paraText"的第一个Item为选中          
function jsSelectItemByValue(objSelect, objItemText) {              
    //判断是否存在          
    var isExit = false;          
    for (var i = 0; i < objSelect.options.length; i++) {          
        if (objSelect.options.text == objItemText) {          
            objSelect.options.selected = true;          
            isExit = true;          
            break;          
        }          
    }                
    //Show出结果          
    if (isExit) {          
        alert("成功选中");          
    } else {          
        alert("该select中 不存在该项");          
    }          
}          
     
// 7.设置select中value="paraValue"的Item为选中      
document.all.objSelect.value = objItemValue;      
         
// 8.得到select的当前选中项的value      
var currSelectValue = document.all.objSelect.value;      
         
// 9.得到select的当前选中项的text      
var currSelectText = document.all.objSelect.options  
 
[document.all.objSelect.selectedIndex].text;      
         
// 10.得到select的当前选中项的Index      
var currSelectIndex = document.all.objSelect.selectedIndex;      
         
// 11.清空select的项      
document.all.objSelect.options.length = 0;


function delOption(oSel){ // 删除option  if (oSel.selectedIndex>=0) {  oSel.options.remove(oSel.selectedIndex);  } else {  alert("请先至少选择一个关键字");  };}

上述代码在IE下正常运行,但在Firefox下却报错:
oSel.options.remove is not a function.

最后发现只要作一下小改动就可兼容IE和FF :)
改动后的代码如下:

function delOption(oSel){ // 删除option  if (oSel.selectedIndex>=0) {  oSel.remove(oSel.selectedIndex);  } else {  alert("请先至少选择一个关键字");  };}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值