Smarty未在所有文件上生成Javascript

Smarty未在所有文件上生成Javascript,javascript,php,jquery,html,smarty,Javascript,Php,Jquery,Html,Smarty,我有一个标准的PHP/Smarty网站。有一个带有index.php的HomeBase,一个包含.tpl文件的templates文件夹。我有一个header.tpl、footer.tpl、index.tpl和subpage.tpl index.tpl和subpage.tpl都包括header.tpl。我知道它们都正确地包含header.tpl,因为css在两个页面上是相同的。在header.tpl上的head标记中,我有一个jQuery自动完成脚本。如果index.tpl上有文本框,则自动完成功

我有一个标准的PHP/Smarty网站。有一个带有index.php的HomeBase,一个包含.tpl文件的templates文件夹。我有一个header.tpl、footer.tpl、index.tpl和subpage.tpl

index.tpl和subpage.tpl都包括header.tpl。我知道它们都正确地包含header.tpl,因为css在两个页面上是相同的。在header.tpl上的head标记中,我有一个jQuery自动完成脚本。如果index.tpl上有文本框,则自动完成功能可以正常工作

如果我在子页面上放置相同的输入文本框代码,则自动完成不起作用。我强制编译smarty,删除了所有缓存,但似乎不知道为什么?有什么想法吗

我的头。第三方物流

<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head>
。。。我的css

    <!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
    <link rel="stylesheet" type="text/css" href="scripts/jquery.autocomplete.css" />
    <script type="text/javascript" src="scripts/jquery.js"></script>
    <script type="text/javascript" src="scripts/jquery.autocomplete.js"></script>
    <script type="text/javascript" src="scripts/onchange.min.js"></script>
<script>
    $(document).ready(function(){
     $("#Part_Number").autocomplete("autocomplete/parts.php", {
            selectFirst: true
        });
    });
</script>
我的index.tpl和subpage.tpl

 {include file="header.tpl" page="Home"}
 <input type="text" id="Part_Number" name="Part_Number"></input>

在您的两个页面中唯一不同的是您正在调用的URI: $Part_Number.autocomplete自动完成/parts.php{ 尝试将绝对路径设置为如下所示:
$Part_Number.autocompletehttp://www.example.com/autocomplete/parts.php, {

@ClemSndr不起作用,它仍然只在index.tpl页面上起作用,而在subpage.tplca上不起作用。你能在inspector中查看脚本是否正确加载以及javascript控制台中是否有任何错误吗?@ClemSndr Uncaught SyntaxError:错误消息是意外标记。我相信有正确数量的括号r js代码位于{literal}{/literal}标记之间,以确保不会出现括号解释错误的问题。