我有一个用于选择下拉年份的列表,如何动态生成列表。
我的代码:
<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)。提前致谢。 注意:对我来说,选择价值很重要。
答案 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