2015-07-21 17 views
1

首先...我是相当新的JavaScript ...使用Javascript - 如果/和/别的工作不

这里是我目前使用的代码,但它似乎没有正常工作。这是我想要完成的...

如果某些东西的“排版”值为“Complete set”,而它的“main”值只是“A2 tandem”,那么它的标题变量应该是“Line设置w/ALinks:“。如果它有任何其他“排版”值或它的“主”值是“A2串联”,那么它的标题变量应该是“线集:”

什么是目前发生的: 它似乎没有区分'主要'价值是“A2串联”。如果“主”值是“A2串联”,它仍然应用“w/ALinks:”标题。

帮助?

if (accCat == "Line Sets"){ 
     document.getElementById('o1').value = document.getElementById('main').value; 
     document.getElementById('o2').value = document.getElementById('mainsize').value; 
     document.getElementById('o3').value = document.getElementById('typeset').value; 
     document.getElementById('o4').value = document.getElementById('typeline').value; 

     var canopyValue = document.getElementById('main').value; 
     var title; 

     if ((document.getElementById('typeset').value == "Complete set") && (canopyValue != "A2 tandem")){ 
      title = "Line Set w/ ALinks: "; 
     }else{ 
      title = "Line Set: "; 
     } 
+0

目前有哪些成果? – andars

+2

并始终使用===而不是==。 – Ioan

+0

除了丢失的左括号之外,你没有做错任何事情。什么是不正确的工作? – mhu

回答

0

您没有关闭原始的if。最后添加一个}

2
if (accCat == "Line Sets"){ //<-------- YOU DIDN'T CLOSE THIS 
    document.getElementById('o1').value = document.getElementById('main').value; 
    document.getElementById('o2').value = document.getElementById('mainsize').value; 
    document.getElementById('o3').value = document.getElementById('typeset').value; 
    document.getElementById('o4').value = document.getElementById('typeline').value; 

    var canopyValue = document.getElementById('main').value; 
    var title; 

    if ((document.getElementById('typeset').value == "Complete set") && (canopyValue != "A2 tandem")){ 
     title = "Line Set w/ ALinks: "; 
    }else{ 
     title = "Line Set: "; 
    } 

}添加到代码的末尾。

另外一个快速提示:

代替打字document.getElementById("someId").value每一次的,只是做一个函数,将得到的元素。

var get = function(id){ 
    return document.getElementById(id); 
} 

然后,你可以访问它像get("o1").value = get("main").value

+0

感谢您的提示 - 我最近继承了这个网站,并且最初编码的人没有选择阻力最小的路径,所以我正在努力解决存在的许多错误 - 这是一个我认为我已经盯住......但似乎没有按预期工作。 – Steve

1

你对你的第一if缺少括号。你打开了它,但是直到你的else之后,右括号才会出现。

1

您没有关闭最初的if的开头括号。 无论如何,因为您刚接触Javascript,因此认为Javascript在EQUALS中有2个运算符。看看http://www.w3schools.com/js/js_comparisons.asp

已知x = 5

==同等价值

X == 8提供虚假
X == 5给出了真正的

===同等价值和同等类型

X === “5” 假 X === 5真

相关问题