日期:2014-05-16  浏览次数:20376 次

JS操作select总结
JS动态改变select选择变更option的index值


document.getElementById("louyuming").options[0].selected=true;

function jsSelectIsExitItem(objSelect, objItemValue) {      

     var isExit = false;      

     for (var i = 0; i < objSelect.options.length; i++) {      

         if (objSelect.options[i].value == objItemValue) {      

             isExit = true;      

             break;      

         }      

     }      

     return isExit;      

}       

Javascript 操作select是表单中常见的一种,今天删除多个select值的时候出现了问题,搞了半天原来是索引引起的(即删除的时候要从索引大的开始删,然后再删除索引小的,否则删除了索引小的后索引大的索引就变化了,再删除时就会出现问题--问题的关键是for循环是要从大到小,而不是常规的从0到 length)

// 4.删除select中选中的项   

function jsRemoveSelectedItemFromSelect(objSelect) {       

     var length = objSelect.options.length - 1;   

     for(var i = length; i >= 0; i--){   

         if(objSelect[i].selected == true){   

             objSelect.options[i] = null;   

         }   

     }   

}     

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的项

======================================================================

动态删除select中的所有options:

function deleteAllOptions(sel){

sel.options.length=0;

}

动态删除select中的某一项option:

function deleteOption(sel,indx){

sel.options.remove(indx);

}

动态添加select中的项option:

function addOption(sel,text,value){

sel.options.add(new Option(text,value));

}

上面在IE和FireFox都能测试成功,希望以后可以用上。

===========================================

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[i].value == objItemValue) {       

             isExit = true;       

             break;      &