动态给select添加选项的常用方法

web开发中,经常需要给select动态添加数据,常用的方法有几种:

1.基于dom方式的添加

2.使用innerHTML添加

3.object方式添加

以下是示例

 < html >   
 < head >   
 < script >   
  
 var city  =    new  Array();   
 city[ 0 ] = " 西安 " ;   
 city[ 1 ] = " 乌鲁木齐 " ;   
 city[ 2 ] = " 西宁 " ;   
 city[ 3 ] = " 北京 " ;   
 function objectF()   
   {   
  
  var s  =  document.getElementById( " object " );   
   for (var i = 0 ;i < city.length;i ++ )   
   {   
   var option  =   new  Option(city[i],i);   
   s.options[i] = option;   
      
  } 
   
 } 
   
 function domF()   
   {   
  var s  =  document.getElementById( " dom " );   
   for  (var i = 0 ;i < city.length;i ++ )   
   {   
   var option  =  document.createElement( " option " );   
   var text  =  document.createTextNode(city[i]);   
   option.appendChild(text);   
   option.value = i;   
   s.appendChild(option);   
     
  } 
   
 } 
   
 function innerF()   
   {   
  
  var sel  =  document.getElementById( " inner " );   
  var str  =   " <select> " ;   
   for  (var i = 0 ;i < city.length;i ++ )   
   {   
   strstr  =  str  +   " <option value=' " + i + " '> " + city[i] + " </option> "    
  } 
   
  strstr = str + " </select> " ;   
  sel.innerHTML = str;   
 } 
   
 </ script >   
 </ head >   
 < body >   
 < form >   
 < table >   
  < tr >   
   < td >   
    < select  ></ select >   
   </ td >   
   < td >   
    < select  ></ select >   
   </ td >   
   < td >   
    < div  >   
     < select ></ select >   
    </ div >   
   </ td >   
  </ tr >   
  < tr >   
   < td >< input type = " button "  value = " dom "   ></ td >   
   < td >< input type = " button "  value = " object "   ></ td >   
   < td >< input type = " button "  value = " inner "   ></ td >   
  </ tr >   
 </ table >   
 </ body >   
  

如何清空select里面的option  


四种方法:(以下child指某select)

1、循环将option赋值为null;

function delAllItems(child)
{
 for(var i=child.options.length-1; i>=0; i--)
 {
   child.options[i] = null;
  }
}

2、循环用remove将option删除掉

function delAllItems(child)
{
for(var i=child.options.length-1; i>=0; i--)
{
child.remove(i);
}
}

3、直接将innerHTML赋值""

function delAllItems(child)
{
 child.innerHTML = "";
}

4、直接将length赋值为0

function delAllItems(child)
{
   child.options.length=0
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值