日期:2014-05-16  浏览次数:20340 次

下拉菜单值循环问题
请问下面的是下拉从1-305、402-861、1004-1658,我先随便写的这三个,实际当中有好多个数据的。中间有断开的,我下面的代码是可以显示出来,但是打开非常慢,请问这可以优化吗,或者可以有更好的方法吗,谢谢

<select name="" id="">
for(var i=1; i<=305; i++)
   {
     document.write('<option value=');
     document.write(i);
     document.write('>');
     document.write(i);
     document.write('</option>');
   }
for(var i1=402; i<1=861; i1++)
   {
     document.write('<option value=');
     document.write(i1);
     document.write('>');
     document.write(i1);
     document.write('</option>');
   }
for(var i2=1004; i<=1658; i2++)
   {
     document.write('<option value=');
     document.write(i2);
     document.write('>');
     document.write(i2);
     document.write('</option>');
   }
</scelect>
下拉菜单 select

------解决方案--------------------
嘿嘿,回答有些跑題了


var htmls = [];
var data = [[1, 305], [402, 861], [1004, 1658]];
var l, t, s, e;
l = data.length;
htmls.push('<select name="" id="">');
for(var i = 0; i < l; i++) {
    t = data[i];
    s = t[0];
    e = t[1];
    for(var j = s; j <= e; j++) {
        htmls.push('<option value="'+ j +'">'+ j +'</option>');
    }
}
htmls.push('</select>');
document.getElementById('id').innerHTML = htmls.join('');