在jQuery函数中使用smarty变量
Using smarty variable within a jQuery Function
我的php从数据库生成一些类型,并将其传递给Smarty变量$X。
在Jquery的帮助下,我希望能够点击一个按钮,我的一个div的内容将被替换为$X。
$(document).ready(function(){
$("button").click(function(){
$("#div1").html($X);
});
});
这段Jquery脚本包含在一个外部js文件中。
如果您有一个经过解析的模板文件,可以在其中输出PHP->Smarty分配的变量,那么您可以在模板中创建一个全局JS变量,然后在JS中正常使用该全局变量。
例如:
模板文件
<script type="text/javascript">
var MyGlobalVar = "{$MyGlobalVar}";
</script>
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
<?php
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或其他使用单引号/双引号的文本时。
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何将smarty变量与javascript变量进行比较
- Smarty-可以't将变量内容插入javascript
- javascript函数中的smarty变量
- 如何使用Smarty通过函数传递javascript变量
- 给jquery选择器指定一个smarty变量
- 如何在smarty中读取PHP数组到Java脚本变量
- 文档.getElementById与SMARTY变量
- javascript中的Smarty变量
- 将变量PHP Smarty传递给Javascript
- 在Smarty模板中使用javascript函数中的PHP变量
- 将JavaScript变量分配给Smarty变量
- 我如何创建一个变量在Smarty和填充这个变量与html代码
- 将JavaScript变量传递给smarty
- 从PHP传递给Smarty和Javascript的变量
- 在jQuery函数中使用smarty变量
- 如何在jquery中使用smarty变量