我知道一些帖子已经在处理同一主题。
以下是链接:
Javascript Template Engine Use with jQuery
我正在尝试将 php explode 函数合并到 javascript 模板中。该插件是来自 blueimp @ https://github.com/blueimp/jQuery-File-Upload/downloads 的 jQuery-File-Upload我从 GitHub 下载。
以下是我正在尝试执行并使其工作的代码的一部分。
<!-- The template to display files available for download -->
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr>
<td>
<?php echo "{%=file.name%}"; ?> //{%file.name%} contains a string seperated by underscores
<?php $file_name_long = '{%=file.name%}'; ?>
<?php $file_name = explode ('_' , $file_name_long); ?>
<?php print_r($file_name); ?>
</td>
</tr>
...
...
我能够将 $file_name 作为一个数组打印出来,但我无法在我的 file.name 中用下划线分隔它。打印的数组包含根据 file.name 的整个字符串。
我不确定这是否可能。我一整天都在努力。如果这不可行或逻辑上不正确,请告诉我,这样我就可以停止尝试让这项工作成功。感谢和赞赏。
最佳答案
您正在尝试读取 php 代码中的 javascript 值。
{%=file.name%}
只是 php 的一个字符串,当您的 php 呈现输出时不包含实际文件名。所以你的 print_r() 会输出 {%=file.name%}
然后在整个 php 处理完成后在浏览器中将其翻译成你的文件名。
尝试单独用 javascript 实现这些东西。
关于php 爆炸在 javascript 模板中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12284901/