2013-02-20 52 views
0

這可能有一個簡單的答案,但我似乎無法在任何地方找到它。我正在將本地HTML文件加載到模態疊加層中。該HTML文件中有一個幻燈片。我想設置一個變量並在加載的HTML中訪問它以知道哪個幻燈片開始。用Jquery .load()加載的HTML訪問變量

我試着用URL作爲GET變量發送它。我試過在大括號內的URL後發送它,並檢索作爲POST。我試過設置一個全局變量,但我相當肯定它已經超出了範圍,而且我似乎也無法得到它。

下面是一些相關的代碼:

$(document).ready(function() { 

    $("a.slide0").click(function() { 
     $('#revealLayer').load('slideshow1.html?slide=0'); 
     $('#revealLayer').appendTo('#revealModal'); 
     $('#revealModal').reveal(); 
     return false; 
    }); 

    $("a.slide1").click(function() { 
     $('#revealLayer').load('slideshow1.html?slide=1'); 
     $('#revealLayer').appendTo('#revealModal'); 
     $('#revealModal').reveal(); 
     return false; 
    }); 

}); 

我怎樣才能得到這個在接收端?幫幫我!

回答

1

已經解釋瞭如何在這個崗位在這裏做到這一點:problems with jquery load()

快速樣機(未測試):

這假定#revealModal是你想要我的div信息,並且slideshow1.html?slide = [0-1]網址實際上鍊接到PHP文件。

$(document).ready(function() { 
    $("a.slide0").click(function() { 
     $('#revealModal').load('slideshow1.html', {slide:'0'}, function(){ 
      $(this).reveal(); 
      return false; 
     }); 
    }); 

    $("a.slide1").click(function() { 
     $('#revealModal').load('slideshow1.html', {slide:'1'}, function(){ 
      $(this).reveal(); 
      return false; 
     }); 
    }); 
}); 

的slideshow1.html?滑動= 1和slideshow1.html?滑動= 0將需要處理的$_POST['slide']變量在PHP此。

+0

不幸的是,這個服務器將不會安裝PHP。我希望找出一個Javascript解決方案。他們確實有ColdFusion,所以我可以這樣做。我只是避免它,因爲我討厭CF. – Imaginary 2013-02-20 02:41:56

+0

試試吧,讓我知道它是怎麼回事。當您通過瀏覽器瀏覽它時,該網址是否提供了不同的內容?如果'slide'是0和1?他們是否都返回相同的內容或不同的內容?我的預感是你不需要擔心php ... – 2013-02-20 02:46:43

+0

你也可以試着擺脫數字「0」和「1」的引號 – 2013-02-20 02:50:18

0

您應該可以使用load()方法的thirs參數,並且是一個回調,當加載過程完成時(相當於ready()),將調用該回調。

試試這個:

$("a.slide0").click(function() { 
    $('#revealLayer').load('slideshow1.html?slide=0', 
          {}, 
          function(response, status, whr) { 
     $('#revealLayer').appendTo('#revealModal'); 
     $('#revealModal').reveal(); 
    }); 

    // Cancel the click 
    return false; 
}); 

的方法定義是:

.load(url [, data ] [, complete(responseText, textStatus, XMLHttpRequest) ]) 
+0

這是我一直在找的答案,所以我不懷疑你,但我不明白它是如何解決我的問題。我可能會對我的回調功能有所瞭解。有了這個結構,我將如何訪問jQuery中加載內容的「幻燈片」(它應該爲零)的值? – Imaginary 2013-02-20 02:37:24

+0

@Imaginary - 「slide」變量和任何其他變量應該在'.load()'方法調用的第二個參數中處理,以便能夠通過'$ _POST'獲取它。 – 2013-02-20 02:42:41

+0

您在加載內容時將會調用函數,並鏈接到您的鏈接a.slide0,因此在此回調中您已知道幻燈片(?)。 – MatRt 2013-02-20 02:43:16