2013-10-14 75 views
-1

我使用Smarty v.1.6將jquery包含在smarty中

我在tpl中使用onchange創建了select窗體。

這裏是我的代碼片段:

<div class="row"> 
    <select name="group" id="group"> 
    {foreach from=$userGroupsData item=group} 
     <option value="{$group.id}">{$group.name}</option> 
    {/foreach} 
    </select> 
</div> 
<div id="fetchmember"> 
<script type="text/javascript" src="jquery.js"></script> <!-- is it right? --> 
<script type="text/javascript"> 
    {literal}     
    $('#group').on('change',function(){ 
    alert("hello");      
    }); 
    {/literal}      
</script> 
</div> 

我只是想確保jQuery的工作正常,所以我alert測試。但警報不能出現。我的代碼有問題嗎?請大家幫忙..非常感謝你

回答

0

你必須把你的jQuery代碼放在$(function(){ //your code here });的內部才能在DOM準備好的時候執行它。請參閱從CDN的jQuery documentation

$(function(){ 
    $('#group').on('change',function(){ 
    alert("hello");      
    }); 
}); 

試裝車的jQuery像這樣<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>

而且您並不需要這裏的{literal}塊。在JS代碼中打開大括號後,只需使用空格或換行符,這樣smarty就不會認爲它是一個函數。

+1

謝謝你的答案,但警報仍然沒有出現。我必須把? –

+0

它放在哪裏並不重要。一般來說,我更喜歡你的html文件的''部分。你的html文件在同一個文件夾中有jquery.js文件嗎? – Alexxus

+0

是的,我把它們(jquery.js和tpl文件)放在同一個文件夾中。 –