gpt4 book ai didi

javascript - 在JavaScript对象内循环

转载 作者:行者123 更新时间:2023-12-02 18:41:30 25 4
gpt4 key购买 nike

我正在尝试使用javascript显示下拉列表。这是我的代码:

function monthlistview()
{
var monthlist=document.getElementById("monthlist");
document.getElementById("favorite").value=monthlist.options[monthlist.selectedIndex].text;
if(document.getElementById("favorite").value=='Feb'){
var myobject = {};
for (var x = 0; x <= 28; x++) {
myobject[x] = {x: x}; //should display 1-28
}
var select = document.getElementById("daylist");
for(index in myobject) {
select.options[select.options.length] = new Option(myobject[index], index);
}
}
}


我想发生的是,当用户为月份选择2月时,天选项将自动设置为28天。如何在myobject变量中显示它?我想使用循环来做到这一点。

还是有更简单的方法来做到这一点?谢谢!

最佳答案

myobject[x] = {x: x}; //should display 1-28



然后使用这些数字,而不要使用具有 x属性的对象:

myobject[x] = x;


但是,您根本不应该使用该 myobject-它的属性未排序,并且可以通过for-in循环以任何顺序枚举。只需将 new Option(…)东西直接放入for循环中即可:

var monthlist = document.getElementById("monthlist"),
favorite = document.getElementById("favorite"),
select = document.getElementById("daylist");
var month = favorite.value = monthlist.options[monthlist.selectedIndex].text;
// I'd suggest using `monthlist.value` if that is the same
var days = month == 'Feb' ? 28 : 31; //???
for (var index=0; index<days; index++) {
select.add( new Option(index, index+1) );
}

关于javascript - 在JavaScript对象内循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16788718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com