如何在smarty模板中使用js?

时间:2014-07-21 11:42:12

标签: javascript templates attributes smarty

使用html_options如何向其添加id或class属性以及如何在smarty中使用javascript 特别是我需要对html_option更改执行一些操作。 在我的.php文件中,我有以下部分代码:

<script ....>
function changeProvince(){
        var province = document.getElementById("addr_province");
        province.addEventListener("change", function(){ alert("Hello World!"); });
    }
changeProvince();
</script>

和我的.tpl文件

{{html_options name=addr_province options=$addr_province id="addr_province"}}

使用上面的代码 它不起作用。

1 个答案:

答案 0 :(得分:0)

使用没有问题:

{html_options name=addr_province options=$addr_province id="addr_province"}

<script type="text/javascript">
function changeProvince(){
        var province = document.getElementById("addr_province");
        province.addEventListener("change", function(){ alert("Hello World!"); });
    }
changeProvince();
</script>

但是如您所见,您需要创建第一个选项,然后运行changeProvince(); JavaScript函数。

其他方式会导致JavaScript错误TypeError: province is null,而且简单,它将无效。

修改

如果你愿意,你也可以这样做:

<script type="text/javascript">
function changeProvince(){
        var province = document.getElementById("addr_province");
        province.addEventListener("change", function(){ alert("Hello World!"); });
    }
</script>

{html_options name=addr_province options=$addr_province id="addr_province"}

<script type="text/javascript">
changeProvince();
</script>

您可以提前定义您的功能,但在创建选择和选项后运行它