反向JS选择菜单顺序并在最后添加自定义选项

时间:2014-02-17 12:14:00

标签: javascript

我对JS有点新意,所以如果我提出任何愚蠢的问题,我会提前道歉。

我在StackOverflow中找到了这个脚本并进行了一些小的调整。脚本来自用户“user2935177”,在Calvin的帮助下。 我的问题是我想要颠倒年份的顺序(到新旧)并在底部添加自定义选项(“1950年之前”)。 我在JS中发现了很多关于使用自定义订单的问题/答案,但是对于新手来说,在代码中实现它。

任何愿意协助并且如果可能的话解释我如何在列表末尾添加自定义选项的人?

<script>
var max = new Date().getFullYear(),
    min = 1930
    select = document.getElementById('selectElementId');

for (var i = min; i<=max; i++){
    var opt = document.createElement('option');
    opt.value = i;
    opt.text = i;
    select.appendChild(opt);
}
</script>

很多,非常感谢提前!

2 个答案:

答案 0 :(得分:1)

编辑循环线,使其从最大值开始,并朝向最小值

更改此行:

for (var i = min; i<=max; i++){

到此:

for (var i = max; i>=min; i--){

这最后一行基本上意味着从最大值开始然后继续循环直到我小于min,并且i--意味着减去一个与i ++相反的意思,即添加一个。

我建议你阅读更多关于for循环的信息,因为你会使用它们很多:http://www.w3schools.com/js/js_loop_for.asp

答案 1 :(得分:1)

将循环更改为从最大值开始,然后通过向后退步转到min:

for (var i = max; i >= min; i--) {

}

然后在循环后添加:

var customOpt = document.createElement('option');
customOpt.value = -1; // Or whatever value you'd like it to have
customOpt.text = "Before 1950";
select.appendChild(customOpt);