2011-05-05 71 views
1

我想在jQuery中設置會話數組,我在裏面調用onClick事件的javascript函數進行鏈接。在jQuery中設置數組會話值

但它不斷設置我我最後的選擇,我點擊。

這是我的代碼用於設置會話陣列(我想新的元素,當有人點擊的鏈接添加到會話陣列每次):

$_SESSION['Ticket'][]=$IDGame; 
+1

你明白在服務器端運行的腳本和在客戶端運行的腳本之間的區別嗎?而且,你從哪裏得到'$ IDGame'?它是否使用查詢參數發送到服務器?你檢查它的有效性嗎? – 2011-05-05 23:28:56

+0

請提供您檢索值的部分的代碼片段。 – 2011-05-05 23:29:03

回答

1

我認爲這是你在說什麼。 ...

$.isArray($_SESSION['Ticket']) ? $_SESSION['Ticket'].push($IDGame) : $_SESSION['Ticket'] = [$IDGame]; 
+0

PHP中是否有這樣的'$ .isArray'函數? – 2011-05-05 23:38:37

+0

我不使用PHP,這個問題在JQuery內部說過,所以我在jQuery可用的JavaScript應用程序中進行了刺探。我認爲$ _Session是一個PHP的東西? – Felix 2011-05-05 23:42:02

+0

我使用此代碼時出現錯誤 – 2011-05-05 23:47:25

1

您在混淆服務器端和客戶端語言。如果你想向你的$_SESSION變量(服務器端)添加一些東西,你將需要在服務器的javascript(客戶端)中創建一個ajax request

+0

不一定:你可以做你一樣的普通形式... – 2011-05-05 23:31:35

+0

@Marcel Korpel這是真的,也適用於一個正常的鏈接,但在jQuery中設置會話數組,我調用JavaScript函數內*似乎意味着留在相同的頁面,但我可能是錯的... – jeroen 2011-05-05 23:34:42

+0

是的,但它聽起來更像是他沒有得到服務器和客戶端腳本之間的區別。 – 2011-05-05 23:35:41

0

你不能在jQuery中使用PHP代碼(至少在這種情況下)。有一個jQuery插件(http://plugins.jquery.com/files/jquery.cookie.js.txt)基於給定的參數,您可以爲當前用戶設置cookie或會話。例如:

$('#element').click(function(e) { 
    e.preventDefault(); 
    $.cookie('Ticket[]', $('#IDGame').val(); 
}); 

此代碼假定$ IDGame存儲在ID = IDGame的(隱藏)文本字段中。這是使用jQuery與會話和cookie的正確方法。如果你想要使用PHP代碼,你應該考慮使用getJSON函數加載一個PHP文件,並將ID作爲參數發送到文件中,並在後臺添加一個新的密鑰。

+0

我不想使用隱藏的字段,因爲我想要使用會話變量 – 2011-05-05 23:46:20

+0

請參閱上面的Felix的回覆..隱藏字段只是爲了向jQuery提供值。我認爲這裏已經給出了正確的答案,你應該沒問題。您應該爲我們添加更多代碼,以查看問題的真實位置。 – 2011-05-06 00:14:06