jquery调用中的PHP var

时间:2013-01-17 16:47:09

标签: php jquery

这是有效的,但可能有更好的方法来传递php var。有没有人有任何选择?感谢

<?php $slide = "fade"; ?>

$(document).ready(function()
{   

    $("#showcase_right").awShowcase({transition : "<?php echo $slide; ?>"});
});

5 个答案:

答案 0 :(得分:1)

不,你做得对。放松:)

答案 1 :(得分:1)

更好的方法是使用json_encode将PHP字符串转换为JavaScript。在这种情况下,它没有什么真正的区别,但是当你有其他字符串时,它确保你总是拥有有效的JavaScript,无论PHP变量包含什么。

$(document).ready(function() {   
    $("#showcase_right").awShowcase({
        transition : <?php echo json_encode($slide); ?>
    });
});

另一个选择是存储值,例如在data-属性中,例如在<body>标记中:

<body data-transition="<?php echo htmlspecialchars($slide); ?>">

然后,您可以使用$('body').data('transition')

在JavaScript代码中访问它

答案 2 :(得分:1)

你所做的并不是真正定义一个变量。你是以变量的形式定义一个常量。

如果用户可以更改转换值,则可以将其全部保留在客户端上。

$(document).ready(function(){  
    $("#showcase_right").awShowcase({transition : strSlide || 'fade'});
});

strSlide将成为“变量”。

答案 3 :(得分:0)

您可以将PHP变量插入隐藏的输入字段,然后将该输入捕获到javascript变量中。我认为你的方式更好,这只是推测其他方法。

答案 4 :(得分:0)

如果您不喜欢当前的方法,可以执行以下操作(根据自己的喜好更改实现):

var config = {
    "slide":"<?php echo "fade"; ?>" // or have a variable here
}

$(document).ready(function()
{   

    $("#showcase_right").awShowcase({transition : config['slide']});
});

这样你就可以尽可能地将PHP与javascript分离。允许您相对轻松地更改配置。