我正在创建一年的下拉列表。 如何自动填充下拉列表?
例如,我将在1980年添加一个下拉值,我可以使用jQuery将其填充到当前年份,所以我不需要全年输入吗?
答案 0 :(得分:4)
您可以在for
和当前年份之间使用1980
循环,您可以通过Date对象的getFullYear()
属性检索该循环。试试这个:
var html = '';
for (var i = 1980; i <= new Date().getFullYear(); i++) {
html += '<option value="' + i + '">' + i + '</option>';
}
$('#mySelect').html(html);
如果您希望从当前年份开始并逐渐减少,可以使用负面迭代,如下所示:
for (var i = new Date().getFullYear(); i >= 1980; i--) {
html += '<option value="' + i + '">' + i + '</option>';
}
答案 1 :(得分:2)
使用for循环并添加到字符串中这很简单:
Settings > Build,Execution,Deployment > Instant Run
&#13;
var nowY = new Date().getFullYear(),
options = "";
for(var Y=nowY; Y>=1980; Y--) {
options += "<option>"+ Y +"</option>";
}
$("#years").append( options );
&#13;
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getFullYear
http://api.jquery.com/append/
答案 2 :(得分:1)
您可以使用for循环(http://www.w3schools.com/js/js_loop_for.asp)
function fillDates(startDate){
yr = new Date().getFullYear();
options = "";
for(var i=startDate, i<=yr, i++){
options += ("<option value = "+i+">"+i+"</option");
}
$("select").append(options);
}
fillDates(1908);
答案 3 :(得分:0)
我有一年以上的dorpdowns,我想为此计算从特定年份到当前年份的年份列表。评论我的最终解决方案,也许有人会发现这个有用:
function populateYearList(minYear, currentYear, selectElement){
var max = currentYear, min = minYear;
for (var i = min; i<=max; i++) {
var opt = document.createElement('option');
opt.value = i;
opt.innerHTML = i;
selectElement.append(opt);
}
//selecting current year by default and adding "selected" attribute to it
$(selectElement).val(max)
.find("option[value=" + max +"]")
.attr("selected","selected");
}
调用页面加载
var selectElement = $('.select-class');
populateYearList('2015', currentYear, selectElement);
答案 4 :(得分:-1)
请参阅以下代码
<input type="text" id="inputyear">
<select id="selectyear">
</select>
<input type="button" value="Generate" onclick="FillYears()">
<script type="text/javascript">
function FillYears(){
for(var i=parseInt($("#inputyear").val());i<=(new Date().getFullYear());i++)
{
$("#selectyear").append($("<option>"+i+"</option>"));
}
}
</script>
答案 5 :(得分:-1)
chong有很多答案,我有点让我更新我对jsFiddle的回答。
小提琴:https://jsfiddle.net/eua98tqa/8/
HTML:
<html>
<head>
</head>
<body>
<select>
</select>
</body>
</html>
jQuery的:
var fromYear = 1980;
var currentYear = new Date().getFullYear();
for (var i = fromYear; i <= currentYear; i++) {
$("select").append('<option value="' + i + '">' + i + '</option>');
}