将全局变量添加到javascript函数,以便可以在另一个php页面上使用它

时间:2014-10-15 04:26:04

标签: javascript php

我有一个包含以下代码的脚本:

$(function(){
var e=$.cookie("list_grid");
if(e=="g"){
    $("#products").addClass("smallGrid");
    $("#smallGrid").addClass("disabled")
    }else if(e=="l"){
        $("#products").addClass("largeGrid");
        $("#products").removeClass("smallGrid");
        $("#largeGrid").addClass("disabled")
        }else{
            $("#products").addClass("listGrid");
            $("#products").removeClass("largeGrid");
            $("#products").removeClass("smallGrid");
            $("#list").addClass("disabled")}});
$(function(){
            $("#smallGrid").click(function(){
            $("#products").fadeOut(300,function(){
            $(this).removeClass("listGrid").fadeIn(300);
            $(this).addClass("smallGrid").fadeIn(300);
            $(this).removeClass("largeGrid").fadeIn(300);
            $.cookie("list_grid","g")});
            $(this).addClass("disabled");
            $("#list").removeClass("disabled");
            $("#largeGrid").removeClass("disabled");
            return false});

            $("#largeGrid").click(function(){
            $("#products").fadeOut(300,function(){
            $(this).addClass("largeGrid").fadeIn(300);
            $(this).removeClass("listGrid").fadeIn(300);
            $(this).removeClass("smallGrid").fadeIn(300);
            $.cookie("list_grid","l")});
            $(this).addClass("disabled");
            $("#smallGrid").removeClass("disabled");
            $("#list").removeClass("disabled");
            return false});

            $("#list").click(function(){
            $("#products").fadeOut(300,function(){
            $(this).addClass("listGrid").fadeIn(300);
            $(this).removeClass("smallGrid").fadeIn(300);
            $(this).removeClass("largeGrid").fadeIn(300);
            $.cookie("list_grid",null)});
            $(this).addClass("disabled");
            $("#smallGrid").removeClass("disabled");
            $("#largeGrid").removeClass("disabled");
            return false})
            })

我需要添加一个可以在另一个页面上的某些php代码中使用的var。此var的目的是知道选择了哪种列表类型,以便我可以根据用户请求查看数据的格式触发特定类型的输出。

我试图改变

$("#smallGrid").click(function(){

将var包括在内

$("#smallGrid").click(function(){
var listingStyle="small"

但是当我在我的php代码中回显$ listingStyle的内容时它是空的。 该网站可以使用全局变量,它们设置为

$GLOBALS['variable_name'] = 'this string';

但我似乎无法将javascript var变成php global var

如果有人有任何建议,我们将非常感激。

2 个答案:

答案 0 :(得分:0)

  
    

但我似乎无法将javascript var变成php global var

  

这是正确的,你不能在Javascript中做一些事情并让它以某种方式显示在PHP中。但是,可以使用Javascript在URL中设置GET变量,然后将其填充到$_GET数组中,然后在PHP中使用该数组存储在{ {1}}数组,以便它可供所有其他可以访问会话的页面使用。您也可以提交$_SESSION,然后使用POST数组,但这是优惠的,或者符合您的网站/程序的条件。

答案 1 :(得分:0)

使用会话...

首先包括 jquery-1.9.1.js和jquery.session.js

TO STORE:

        $(function() {
             $.session.set("myVar", "Hello World!");
        });

阅读:

        $(function() {
            alert($.session.get("myVar"));
        });

使用:

print_r($_SESSION); //to check what are the sessions created...

更多参考here