2014-07-21 80 views
0

使用html_options如何爲它添加id或class屬性以及如何在smarty中使用javascript 特別是我需要對html_option更改執行一些操作。 在我的PHP文件,我有下面的一段代碼:如何在smarty模板中使用js?

<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"}} 

隨着代碼 上面這段它不工作。

回答

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> 

您可以提前定義的功能,但創建選擇和選項

+0

我穿後運行我的JS代碼裏面.tpl文件在這裏在你的答案?目前我的js代碼在php文件中,並且使用$ smarty-> display(tpl文件)包含了tpl文件; – hussainfrotan

+0

而且沒有類型錯誤之類的東西 – hussainfrotan

+0

你可以把這個JavaScript放在Smarty文件中。錯誤僅在JavaScript控制檯上可見。 –