javascript 下拉列表 (select)

值得收藏

注意:Option中的O是要大写的,不然语法报错

1.动态创建select

      function createSelect(){

       var mySelect = document.createElement("select");
          mySelect.id = "mySelect";  
          document.body.appendChild(mySelect);
      }

2.添加选项option

     function addOption(){

          //根据id查找对象,
           var obj=document.getElementById('mySelect');

           //添加一个选项
        obj.add(new      Option("文本","值"));    //这个只能在IE中有效
         obj.options.add(new Option("text","value")); //这个兼容IE与firefox
     }

3.删除所有选项option

     function removeAll(){
           var obj=document.getElementById('mySelect');
  
        obj.options.length=0;  

     }

4.删除一个选项option

function removeOne(){
           var obj=document.getElementById('mySelect');

           //index,要删除选项的序号,这里取当前选中选项的序号

        var index=obj.selectedIndex;
        obj.options.remove(index);
  
     }

5.获得选项option的值

var obj=document.getElementById('mySelect');

var index=obj.selectedIndex; //序号,取当前选中选项的序号

var val = obj.options[index].value;

6.获得选项option的文本

var obj=document.getElementById('mySelect');

var index=obj.selectedIndex; //序号,取当前选中选项的序号

var val = obj.options[index].text;

7.修改选项option

var obj=document.getElementById('mySelect');

var index=obj.selectedIndex; //序号,取当前选中选项的序号

var val = obj.options[index]=new Option("新文本","新值");

8.删除select

      function removeSelect(){
            var mySelect = document.getElementById("mySelect");
        mySelect.parentNode.removeChild(mySelect);
     }

 

实际操作

代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>无标题文档</title>
</head>
<script type="text/javascript">
function init()
{
for(var i =0; i< arguments.length;i++)
{
var oOption =new Option(arguments[i],arguments[i]);
document.getElementById(
"Oneselect")[i] = oOption;
}
}

//添加
function addOption()
{
var newValue = document.getElementById('editEar').value;
var nOption =new Option(newValue,newValue);
var oneSel = document.getElementById("Oneselect");
oneSel[oneSel.length]
= nOption;
}
//删除
function delOption()
{
var MySel = document.getElementById("Oneselect");
var delID = MySel.selectedIndex;
MySel.remove(delID);
}
//修改
function editOption()
{
var MySel = document.getElementById("Oneselect");
var editID = MySel.selectedIndex;
var editValue = document.getElementById("editEar").value;
MySel[editID].text
= editValue;
}
function watch_sel()
{
// 编辑
var MySel = document.getElementById("Oneselect");
document.getElementById(
"editEar").value = MySel[MySel.selectedIndex].text;
}

</script>
<body>
<select name="Oneselect" id="Oneselect" onchange="watch_sel()"></select>
<script type="text/javascript">
init(
"aaa","bbb");//初始化
</script>
<input type="text" id="editEar" name="editEar" value=""/>
<input type="button" id="editBtn" name="editBtn" value="修改" onclick="editOption();"/>
<input type="button" id="delBtn" name="delBtn" value="删除" onclick="delOption();"/>
<input type="button" id="addBtn" name="addBtn" value="添加" onclick="addOption();"/>

</body>
</html>
原文地址:https://www.cnblogs.com/attesa/p/1747505.html