2016-07-28 131 views
2

我在單頁應用程序上使用窗口位置和IncludeCMSContent1, IncludeCMSContent2, IncludeCMSContent3的DIV ID。當滿足這些條件時,外部內容將被注入ID。對於不同ID使用相同值的多個變量

但是,我發現3個變量中只有1個是射擊,實際上是第一個,因爲如果頁面上存在IncludeCMSContent3,此ID將不會觸發,因爲IncludeCMSContent1優先。

我該如何解決這個問題?該頁面始終相同,因此該值始終相同,但IncludeCMSContent1/2/3的ID將在同一頁上交換。

var TCEApplicationNoWaiver = "TCEApplication.aspx" 
var TCEApplicationWaiver = "TCEApplication.aspx" 
var TCEApplicationNotEligible = "TCEApplication.aspx" 

if (window.location.href.toLowerCase().indexOf(TCEApplicationNoWaiver.toLowerCase()) >= 0) { 
      $("#IncludeCMSContent1").load("http://www.example.com/tce-application-noWaiver.htm #externalContent"); 
} 
else if (window.location.href.toLowerCase().indexOf(TCEApplicationWaiver.toLowerCase()) >= 0) { 
      $("#IncludeCMSContent2").load("http://www.example.com/tce-application-Waiver.htm #externalContent"); 
} 
else if (window.location.href.toLowerCase().indexOf(TCEApplicationNotEligible.toLowerCase()) >= 0) { 
      $("#IncludeCMSContent3").load("http://www.example.com/not-eligible.htm #externalContent"); 
} 
+2

刪除else?你的陳述只會觸發其中一種情況,目前是 – Liam

回答

2

取出else語句,因此所有的條件,將被觸發。

if (window.location.href.toLowerCase().indexOf(TCEApplicationNoWaiver.toLowerCase()) >= 0) { 
    $("#IncludeCMSContent1").load("http://www.example.com/tce-application-noWaiver.htm #externalContent"); 
} 

if (window.location.href.toLowerCase().indexOf(TCEApplicationWaiver.toLowerCase()) >= 0) { 
    $("#IncludeCMSContent2").load("http://www.example.com/tce-application-Waiver.htm #externalContent"); 
} 

if (window.location.href.toLowerCase().indexOf(TCEApplicationNotEligible.toLowerCase()) >= 0) { 
    $("#IncludeCMSContent3").load("http://www.example.com/not-eligible.htm #externalContent"); 
} 

希望這有助於。

+1

是的,我有多愚蠢。那會工作 – Evan

相關問題