js 操作select和option

1.动态创建select

function createSelect(){

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

2.添加选项option

function addOption(){

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

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

3.删除所有选项option

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

}

4.删除一个选项option

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

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

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

5.获得选项option的值

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

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

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

6.获得选项option的文本

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

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

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

7.修改选项option

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

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

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

8.删除select

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

整个实例的完整代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//ZH-CN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html">
<head>
   <script language=JavaScript>
    function $(id)
    {
     return document.getElementByIdx_x(id)
    }
    function show()
    {
     var selectObj=$("area")
     var myOption=document.createElement_x("option")
     myOption.setAttribute("value","10")
     myOption.appendChild(document.createTextNode("上海"))
     var myOption1=document.createElement_x("option")
     myOption1.setAttribute("value","100")
     myOption1.appendChild(document.createTextNode("南京"))
     selectObj.appendChild(myOption)
     selectObj.appendChild(myOption1)
    }
    function choice()
    {
     var index=$("area").selectedIndex;
     var val=$("area").options[index].getAttribute("value")
     if(val==10)
     {
      var i=$("context").childNodes.length-1;
     var remobj=$("context").childNodes[i];
     remobj.removeNode(true)
      var sh=document.createElement_x("select")
      sh.add(new Option("浦东新区","101"))
      sh.add(new Option("黄浦区","102"))
      sh.add(new Option("徐汇区","103"))
      sh.add(new Option("普陀区","104"))
      $("context").appendChild(sh)
     }
     if(val==100)
     {
      var i=$("context").childNodes.length-1;
     var remobj=$("context").childNodes[i];
     remobj.removeNode(true)
      var nj=document.createElement_x("select")
      nj.add(new Option("玄武区","201"))
      nj.add(new Option("白下区","202"))
      nj.add(new Option("下关区","203"))
      nj.add(new Option("栖霞区","204"))
      $("context").appendChild(nj)
     }
    }
    function calc()
    {
     var x=$("context").childNodes.length-1;
     alert(x)
    }
    function remove()
    {
     var i=$("context").childNodes.length-1;
     var remobj=$("context").childNodes[i];
     remobj.removeNode(true)
    }
   </script>
<body>
<div id="context">
   <select id="area" onchange="choice()">
   </select>
</div>
<input type=button value="显示" onclick="show()">
<input type=button value="计算结点" onclick="calc()">
<input type=button value="删除" onclick="remove()">
</body>
</html>

改进版:在select中添加、修改、删除option元素

function watch_ini(){ // 初始
for(var i=0; i<arguments.length; i++){
var word = document.createElement_x("OPTION");
word.text = arguments[i];
watch.keywords.add(word); // watch. is form name
}
}
function watch_add(f){ // 增加
var word = document.createElement_x("OPTION");
word.text = f.word.value;
f.keywords.add(word); 
}
但上述 add() 方法只在IE下有效,为兼容FF和Opera,对上述代码进行了一下改进,改动后代码如下: function watch_ini(){ // 初始
for(var i=0; i<arguments.length; i++){
   var oOption=new Option(arguments[i],arguments[i]);
   document.getElementByIdx_x("MySelect")[i]=oOption;
}
}
function watch_add(f){ // 增加
   var oOption=new Option(f.word.value,f.word.value);
   f.keywords[f.keywords.length]=oOption;
}

整个实例的完整代码如下:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>javascript select options text value</title>
<meta name="keywords" content="javascript select options text value add modify delete set">
<meta name="description" content="javascript select options text value add modify delete set">
<script language="javascript">
<!--
function watch_ini(){ // 初始
for(var i=0; i<arguments.length; i++){
   var oOption=new Option(arguments[i],arguments[i]);
   document.getElementByIdx_x("MySelect")[i]=oOption;
}
}
function watch_add(f){ // 增加
   var oOption=new Option(f.word.value,f.word.value);
   f.keywords[f.keywords.length]=oOption;
}
function watch_sel(f){ // 编辑
f.word.value = f.keywords[f.keywords.selectedIndex].text;
}
function watch_mod(f){ // 修改
f.keywords[f.keywords.selectedIndex].text = f.word.value;
}
function watch_del(f){ // 删除
f.keywords.remove(f.keywords.selectedIndex);
}
function watch_set(f){ // 保存
var set = "";
for(var i=0; i<f.keywords.length; i++){
set += f.keywords[i].text + ";";
}
confirm(set);
}
//-->
</script>
</head>
<body>
<form name="watch" method="post" action="">
<select id="MySelect" name="keywords" size="10" onchange="watch_sel(this.form)"></select><br>
<script language="javascript">
<!--
watch_ini("我","你","妳","他","她","它","尔"); // 初始关键词
//-->
</script>
<input type="text" name="word" /><br />
<input type="button" value="增加" onclick="watch_add(this.form);" />
<input type="button" value="修改" onclick="watch_mod(this.form);" />
<input type="button" value="删除" onclick="watch_del(this.form);" />
<input type="button" value="保存" onclick="watch_set(this.form);" />
</form>

用一个字符串创建一个数组方法:

<script language="javascript">   

</body>
</html>
<script>
function spli(){
datastr="2,2,3,5,6,6";
var str= new Array();
str=datastr.split(",");
for (i=0;i<str.length ;i++ )
{ document.write(str[i]+"<br/>"); }
}
spli();
</script
    1. 今天调试了一段js,在ie上运行良好,在火狐上调试出现错误,查资料发现

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

      因为这段代码,在网上查资料收藏了这篇文章,实时的温故js

      共勉!!

最新文章

  1. Shou.TV 招聘【北京】— — 生效中
  2. 【CityHunter】Unity3D设计AR探索模式
  3. CMD魔法堂:获取进程路径和PID值的方法集
  4. ASP.NET静态页生成
  5. Java类加载的时机_4种主动引用会触犯类加载+剩下的被动引用不会触发类的加载
  6. 日积月累:ScrollView嵌套ListView只显示一行
  7. POJ 1330 Nearest Common Ancestors(Tarjan离线LCA)
  8. java编程接口(5) ------ button和button组
  9. 课程五(Sequence Models),第三周(Sequence models &amp; Attention mechanism) —— 2.Programming assignments:Trigger word detection
  10. java中对list进行分页显示数据到页面
  11. 深度学习之Attention Model(注意力模型)
  12. 升级Jenkins版本
  13. css美化页面
  14. nginx-2-nginx的反向代理
  15. [luogu4513]小白逛公园
  16. Android_EditText 密码框默认是小圆点 怎么改成其它的(*)?
  17. tomcat-在cmd窗口启动Tomcat
  18. 【推荐】关于JS中的constructor与prototype【转】
  19. sencha touch Container 监听超链接插件
  20. Andrew Ng Machine Learning 专题【Linear Regression】

热门文章

  1. 改变Visual Studio 2012的皮肤
  2. 【循序渐进学Python】1. Python基础知识
  3. linq order by charindex 排序 按给定字符串顺序排序
  4. 【AngularJS学习笔记】02 小杂烩及学习总结
  5. 重新想象 Windows 8.1 Store Apps (86) - 系统 UI 的新特性: Theme, 窗口宽度大小可变, ApplicationView, DisplayInformation
  6. Visual Studio中附加调试器的方法
  7. ASP.NET Core1.0 带来的新特性
  8. 删除src值为空的img标签
  9. ABAP 表格控制(Table Control)和步循环
  10. Ubuntu上安装Apache、MySql和PHP