你的ID不是很有规律么。
 var i=1;
var s=document.getElementById("select_"+i)
while(s!=null){
   你的代码
}
 这只是个思路

解决方案 »

  1.   

    既然用了两个数组就应该分别for循环它们肯定可以还有,要用id,不要用name控件可以用tagName判断是select还是input
      

  2.   

    楼上两位兄弟说的都有道理,但我还是一头雾水,
    ID其实是没有规律的,因为是动态生成的select&input,所以就可以删除
    上面也说了,我也知道用id好,就是不怎么会用~~呵呵.
    麻烦高手,写段代码出来吧?我javascript太菜了
      

  3.   

    var sels = document.getElementsByTagName("select");
    var outValue = "";
    for(var i=0;i<sels.length;i++)
    {
    var put = document.getElementById("input_"+sels[i].id.split('_')[1]);
    outValue += "|"+ sels[i].value +";"+ put.value;
    }
      

  4.   


    <form name="form1" method=post action="处理的页面.asp"> <select name="select_0"> 
    <option value="第一个" selected>第一个 </option> 
    <option value="第二个">第二个 </option> 
    <option value="第三个">第三个 </option> 
    </select> 
    <input name="input_0" id="input_0" value="NO1"> <br>
    ---------------------------------------- <br>
    <select name="select_1"> 
    <option value="第一个">第一个 </option> 
    <option value="第二个" selected>第二个 </option> 
    <option value="第三个">第三个 </option> 
    </select> 
    <input name="input_1" id="input_1" value="NO2"> <br>
    ------------------------------------------ 
    <br>
    <select name="select_2"> 
    <option value="第一个">第一个 </option> 
    <option value="第二个">第二个 </option> 
    <option value="第三个" selected>第三个 </option> 
    </select> 
    <input name="input_2" id="input_2" value="NO3"> <br>
    -------------------------------------- 
    <br>
    <input name="Submit" type="submit" value="add" onclick="showValue()" /> 
    </form>
    <script>
    function showValue()
    {
    var arr=document.form1.elements;
    var values="";
    for(var i=0;i<arr.length;i++)
    {
    values+=(arr[i].value+"   ");
    }
    alert(values);
    }
    </script>
      

  5.   

    上边的类型检查没有判断,你判断下类型是不是select和input,不是就continue;
      

  6.   

    兄弟们,我没别的要求了,只要能把值读出来就成了!!
    我就想,能不能遍历select_及input_开头的元素!
    这样的话,就爽歪歪了!
      

  7.   

    那你先byTagName 再遍历一次ID不就好了
     这样就可以区分是不是不属于这个类别的SELECT了。
      

  8.   

    <!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>
    <script type="text/javascript">
    function getValue(){
    var oForm = document.forms[0];
    var oSelect = oForm.getElementsByTagName('select')
    var oInputs = oForm.getElementsByTagName('input')
    var sleValue = [];
    var inputValue = [];
    var newArr = [];
    for(var i = 0,n = oSelect.length; i<n; i++){
    var opt = oSelect[i].getElementsByTagName('option');
    for(var j = 0,m = opt.length; j<m; j++){
    if(opt[j].selected){
    sleValue.push(opt[j].value);
    }
    }
    }
    for(var i = 0,n = oInputs.length; i<n; i++){
    if(oInputs[i].type != "submit"){
    inputValue.push(oInputs[i].value);
    }
    }

    for(var i = 0,n=sleValue.length; i<n; i++){
    newArr[i] = sleValue[i] + ';' + inputValue[i] + '|';
    }
    alert(newArr.join(''));
    }
    </script>
    </head><body>
    <form name=form method=post action="处理的页面.asp"> <select name="select_0"> 
    <option value="第一个" selected>第一个 </option> 
    <option value="第二个">第二个 </option> 
    <option value="第三个">第三个 </option> 
    </select> 
    <input name="input_0" id="input_0" value="NO1"> <select name="select_1"> 
    <option value="第一个">第一个 </option> 
    <option value="第二个" selected>第二个 </option> 
    <option value="第三个">第三个 </option> 
    </select> 
    <input name="input_1" id="input_1" value="NO2"> <select name="select_2"> 
    <option value="第一个">第一个 </option> 
    <option value="第二个">第二个 </option> 
    <option value="第三个" selected>第三个 </option> 
    </select> 
    <input name="input_2" id="input_2" value="NO3"> <input name="Submit" type="submit" value="add" onclick="getValue(); return false"/> 
    </form> </body>
    </html>
    效果大概上实现了,可能代码不够精简,我也是个新手.
      

  9.   

    "关键,不清楚,怎么读出动态生成的select & input的值,而且,input_1 到 input_10不一定是顺序排列的,可能删除了input_4,input_6 "input_1 与 select_1 中的数据“1”是不是同步的如果是的话可以把上面的ID修改为同一个名字就可以操作数组了。