php 使用smarty变量,php-在jQuery函数中使用smarty变量

我的php从数据库生成某种类型,并将其传递给Smarty变量$X.

借助于Jquery,我希望能够单击一个按钮,并且我的div之一的内容将被替换为$X.

$(document).ready(function(){

$("button").click(function(){

$("#div1").html($X);

});

});

这段Jquery脚本包含在一个外部js文件中.

解决方法:

如果您解析了一个模板文件,可以在其中输出PHP-> Smarty分配的变量,则可以在模板中创建一个全局JS变量,然后照常在JS中使用该全局变量.

如:

模板文件

var MyGlobalVar = "{$MyGlobalVar}";

Global.js文件

$(document).ready(function(){

$("button").click(function(){

if (MyGlobalVar != '') {

$("#div1").html(MyGlobalVar);

} else {

alert('Error! Error! Abort!');

}

});

});

请注意,您可以输出由Smarty解析的Global.js文件(尽管这可能不是个好主意),然后以这种方式注入PHP-> Smarty变量.这会将Global.js包含的文件视为Smarty模板.

为此,您将需要使用{literal},可能以.php文件结尾命名文件(因此它是PHP可解析的),并添加一个PHP header()调用,以便PHP将文件内容作为Javascript输出到浏览器.内容类型.

Global.js

header("content-type: text/javascript");

?>

var MyGlobalVar = "{$MyGlobalVar}";

{literal}

$(document).ready(function(){

$("button").click(function(){

if (MyGlobalVar != '') {

$("#div1").html(MyGlobalVar);

} else {

alert('Error! Error! Abort!');

}

});

});

{/literal}

此外,在PHP方面,您可能要考虑在变量中添加斜杠,特别是在JS变量包含html或使用单引号/双引号的其他文本位的情况下.

标签:variables,smarty,javascript,php,jquery

来源: https://codeday.me/bug/20191102/1992461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值