2

我有一个程序循环检查列表框以查看选择的内容。我有一个切换功能,一旦选择了列表框中的项目并选中了一个复选框,就会运行该功能。

for (var i = 0;i <= returnDate.length; i++) {
        if (checkOutBoxs[i].checked == 1) {
            var time=0;
            switch (returnDate){
                case 0:
                    time=24*60*60*1000;//1 Day
                    break;
                case 1:
                    time=3*24*60*60*1000;//.5 Week
                    break;
                case 2:
                    time=7*24*60*60*1000;//1 Week
                    break;
                case 3:
                    time=14*24*60*60*1000;//2 Weeks
                    break;
                case 4:
                    time=21*24*60*60*1000;//3 Weeks
                    break;
                case 5:
                    time=28*24*60*60*1000;//1 Month
                    break;
                default:
                    time="0";  
            }

returnDate 是我所有列表框的数组,而 checkOutBoxs 是一个复选框。

4

4 回答 4

2

returnDate是一个数组,您将它与一个数字进行比较。那应该总是错误的,除非当returnDate = [].

于 2013-05-29T18:07:50.037 回答
0

你的意思:

switch(i)

或者

switch(returnDate[i])

切换数组时无法与 int 进行比较。

于 2013-05-29T18:08:30.580 回答
0

唯一可行的情况是 0 -> returndate=[]==0。但这不是你想要的。

于 2013-05-29T18:13:55.257 回答
0

Switch-case 语句不能很好地处理 Javascript 中的数组。尝试将您的switch线路更改为switch (returnDate[i]) {. 如果您的数组存储整数,这应该让您更接近您想要的。

于 2013-05-29T18:17:13.653 回答