2017-02-21 87 views
1

我有一个简单的问题,但从昨天开始我就搞不清楚了。我想在fullcalendar脚本中做一个'if else statement'语句。如果用户点击标题为one的事件,它将显示modalOne。如果用户点击其他事件,它将显示modalTwo。我尝试下面的代码。它不起作用。它为我点击的每个事件显示modalOne。If Else statement in Fullcalendar

eventClick: function (calEvent, jsEvent, view) { 
      $("#title").val(calEvent.title);    
      if (calEvent.title = "one") { 
       $('#modalOne').modal('show'); 
      } 
      else { 
       $('#modalTwo').modal('show'); 
      } 
     }, 
+1

可能最适合您评估if语句使用三个等号来比较类型和值。 'if(calEvent.title ===“one”){' –

回答

2

您的代码总是显示modalOne的原因是由于以下情况。

if (calEvent.title = "one") { // you're assigning title to "one" not checking 
    $('#modalOne').modal('show'); 
} 

而是尝试下面的解决方案,也注意我是如何使用严格平等而不是双等同。

eventClick: function (calEvent, jsEvent, view) { 
      $("#title").val(calEvent.title);    
      if (calEvent.title === "one") { 
       $('#modalOne').modal('show'); 
      } 
      else { 
       $('#modalTwo').modal('show'); 
      } 
     }, 
+0

谢谢!但为什么有三重平等而不是两重? –

+0

,因为严格等于比较变量的类型和内容,如果你不使用严格的等式,JavaScript解释器不会检查类型,而只是类型的内容,在某些情况下这可能会导致意外的结果。如果解决方案已解决您的问题,请将其标记为接受的答案,因为这对我来说意义重大。谢谢。 –

+0

也许包含一些指向[平等比较信息]的链接(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness)? – haxxxton