下来菜单根据数据库生成<select id="sl_1">....</select>
<select id="sl_2">....</select>
<select id="sl_3">....</select>
<select id="sl_4">....</select>如何用JS循环获取多个下来菜单所选的值?(不使用jquery,直接用JS的情况下)

解决方案 »

  1.   


    window.onload=function(){
    var sels=document.getElementsByTagName('select');
    var v='';
    for(var i=0;i<sels.length;i++){
          v+=sels[i].value;
    }
        alert(v);
    }
      

  2.   


    for(var i = 1 ;i <= 4 ; i++){
                var select =document.getElementById("sl_"+i);
                var val = select.options[select.selectedIndex].value;
                var text = select.options[select.selectedIndex].text;
              }
      

  3.   

    <!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><body>
    <select><option value="1">1</option><option value="2">2</option></select>
        <select><option value="1">1</option><option value="2">2</option></select>
        <select><option value="1">1</option><option value="2">2</option></select>
        <select><option value="1">1</option><option value="2">2</option></select>
        
        <script>
         var sels = document.getElementsByTagName('select');

    for(var i = 0,s; s = sels[i++];){
    ~function(i){
    sels[i-1].onchange = function(){
    alert(this.options[this.selectedIndex].value)
    };
    }(i);
    }
        </script></body>
    </html>
      

  4.   

    document.getElementById('sl_' + i).value
      

  5.   

    select的ID并不是按顺序加的,所以3楼的代码最实用。其他都是做死了的。