2015-09-21 118 views
-1

好的,这是我的代码。If-statement not working Javascript

.ajax({ 
     type:"POST", 
     url: "data.php", 
     data:{ 
      number:number, sprint_count:sprint_count 
     }, 
     dataType: 'json', 
     success: function(data){ 


      var count = data.length; 
      var PlannedSprint = 0; 

      for(var i = 0; i<count; i++){ 
       var Column = data[i].Column; 
       if(PlannedSprint !== data[i].PlannedSprint){ 

        $("#div"+Column+"_"+Team).append(data[i].PlannedSprint); 

       } 



       var PlannedSprint = data[i].PlannedSprint; 
       var Team = data[i].Team; 

       var Element = data[i].Element; 


       $("#div"+Column+"_"+Team).append(Element); 
      } 
     } 
    }); 

我想只要if语句工作作为data[i].PlannedSprint是不一样的PlannedSprint。但由于某些原因,IF语句不起作用。为什么会这样,if语句有什么问题?

在我心目中,我认为它应该像这样工作:

var PlannedSprint = 0; // Set it to 0 
if(PlannedSprint !== data[i].PlannedSprint){ // cause of PlannedSprint being set to 0 before this I believe it should work cause the data[i].PlannedSprint wont be 0. 
var PlannedSprint = data[i].PlannedSprint; // And then this will give PlannedSprint a new value for the next loop instead of 0. 

但是这是行不通的,有人可以解释!

+0

你为什么不使用!=只是 –

+0

我不知道,我把它改成!=但它没有任何差别,仍然没有工作! – Solen

+0

这意味着问题出在数据[i] .PlannedSprint.Try提醒两个值 –

回答

2

您正在重新定义if语句中的变量。只需删除里面的var

var PlannedSprint = 0; 
if(PlannedSprint !== data[i].PlannedSprint){ 
    PlannedSpint = data[i].PlannedSprint; // no "var" 

我不会为什么会出现这种情况进行长时间描述,您应该阅读javascript“提升”以进一步了解此行为。

0

愿你丢失的if语句的结束标记(}) 和VAR PlannedSprint宣布2倍

+0

这可能应该是一个评论,因为你只是要求提问者澄清。 – Jamiec

+0

是的,我知道,但我必须有50的声誉,, 然而thnx通知我:) –

+0

声誉:) repititions是不同的。 – Jamiec

0

你的if语句是不正确的,因为你总是比前面的下一个元素。