2014-01-26 59 views
0

对不起,我还是新来的。我只想知道我的错误在哪里。我的其他陈述不起作用。但if语句正在工作。让我们假设我的所有变量都是正确的,尽管我的条件语句没有。我真的需要帮助,我卡在这里。如果JavaScript中的其他语句不起作用。只在其他声明

预期结果:

我需要为我的选择添加13个选项。但是当我的if语句完成时,其他语句将接管变量hr1,它会停止并跳过该过程。其中该选项未被添加。

例如:

hr1 = 9 
convertedVar = 20 

- >当条件满足时,if(hr1 <= convertedVar)然后人会跳过它只会增加的选项。

谢谢你的帮助。

if(a==mod) 
{ 
    for(i = 0; i <= 13 ; i++) 
    { 
     if(hr1 <= convertedVar) 
     { 
     document.getElementById('timeId').options[i] = new Option('---',''); 
     hr1++; 
     hr2++; 
     } 
     else 
     { 
     document.getElementById('timeId').options[i] = new Option(h1++ + ':00', hr2++ + ':00'); 
     } 
    } 
} 
+0

hr1和convertedVar如何分配?顺便说一句,在你的其他人,你正在做h1 ++,而不是hr1 ++。 – Sumit

+0

“让我们假设我的所有变量都正确,但我的条件语句不是” - 我不会那样做。首先你必须*验证*这一点。 http://www.youtube.com/watch?v=wg4trPZFUwc –

+0

++(增量)和 - (减量)运营商已知通过鼓励过度的技巧来促成糟糕的代码。它们仅次于有缺陷的体系结构,从而使病毒和其他安全威胁成为可能。另外,预先增加/增加后的混淆会产生非常难以诊断的错误的错误。 – Dalorzo

回答

0

不很了解这背后的逻辑,但是这似乎是一个错字对我说:

.... s[i] = new Option(h1++ + ':00', hr2 .... 
//     h1 or hr1 ?? 

你增加变量h1而不是变量hr1 如果h1是未知那时,你的循环将停止。由于这是所描述的行为,99%确定这是错误:只是一个错字。

+0

document.getElementById().options [] = new Option(); 这里是我所知道的格式。 – chrischan30