用于动态生成下拉列表的JavaScript?

时间:2013-10-17 04:18:38

标签: javascript jquery

我有一个用于选择下拉年份的列表,如何动态生成列表。

我的代码:

 <select  id="year1">
     <option value=2012>2012</option>
     <option value=2011>2011</option>
     <option value=2010>2010</option>
 </select>

我写了这样的剧本,

 for(i = 0; i < 6; i++)
 {  
     document.getElementById('year1').options[i] = new Option(curr_year-i+1,curr_year-i+1);
 }        

我怀疑的是如何动态地给出这里的值(即&lt; option value =“2012”&gt; 2012)。提前致谢。 注意:对我来说,选择价值很重要。

4 个答案:

答案 0 :(得分:3)

试试这个

$(document).ready(function () {
    var year = 2013;
    for(i = 0; i < 6; i++){        
    $("#year1").get(0).options[$("#year1").get(0).options.length] = new Option(year, year);
        year=year+1;
    }
});

此处年份值为增量,反向使用year=year-1;

这是工作FIDDLE

答案 1 :(得分:0)

尝试使用jQuery append将选项附加到select.Here是如何动态地执行它

var x = 2012;
for(var i=0;i<3;i++){
    $('#ddl').append($('<option></option>').val(x).html(x));
    x=x+1;
}

以下是demo

答案 2 :(得分:0)

您可以仅使用php存档 试试吧,

<select  id="year1">
   <?php $current_year=date("Y");
   for($i=1900;$i<=$current_year;$i++){
      <option value="<?php echo $i;?>"><?php echo $i;?></option>
   } ?>
</select>

答案 3 :(得分:0)

使用纯javascript

var createComboBox = function()
{
    var select = document.createElement("select"),
        year = new Date().getFullYear();

    for(var i = 0; i < 6; i++)
    {  
        var option = document.createElement("option");
        select.appendChild(option).text = year;
        select.appendChild(option).value = year;
        year += -1
    }

    document.body.appendChild(select);
}

createComboBox();

请参阅demo